当前位置: 首页 > article >正文

Docker基本配置及使用

Docker基本配置及使用


使用步骤

1.卸载旧版

代码如下:首先如果系统中已经存在旧的Docker,则先卸载

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2.配置Docker的yum库

代码如下:首先要安装一个yum工具

yum install -y yum-utils

安装成功后,执行命令,配置Docker的yum源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.安装Docker

代码如下:最后,执行命令,安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动和校验

代码如下:

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

5.部署MySQL

代码如下:


docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456\
mysql

docker run: 运行一个容器。
-d: 在后台运行容器。
–name mysql: 指定容器的名称为 “mysql”。
-p 3306:3306: 将主机的 3306 端口映射到容器的 3306 端口,这样可以从主机访问容器中运行的 MySQL 服务。
-e TZ=Asia/Shanghai: 设置容器的时区为亚洲/上海,即中国的时区。
-e MYSQL_ROOT_PASSWORD=123456: 设置 MySQL 的 root 用户的密码为 “123456”。
mysql: 指定要运行的镜像为 MySQL。


6.常见命令

docker pull  #拉取镜像
docker push #推送镜像到
docker images #查看本地镜像 
docker rmi #删除本地镜像
docker run #创建并运⾏容器(不能重复创建) 
docker stop #停⽌指定容器 
docker start #启动指定容器 
docker restart #重新启动容器
docker rm #删除指定容器
docker ps #查看容器
docker ps -a #列出所有容器的信息,包括它们的状态(启动和未启动)
docker logs #查看容器运⾏⽇志 
docker exec #进⼊容器 
docker save #保存镜像到本地压缩⽂件 
docker load #加载本地压缩⽂件到镜像 
docker inspect #查看容器详细信息 

7.数据卷

数据卷(Volume)是 Docker 中用于持久化数据的一种机制,它允许容器与宿主机或其他容器共享数据,并且数据会在容器之间持续存在,即使容器被删除也不会丢失。数据卷(volume)是⼀个虚拟⽬录,是容器内⽬录与宿主机⽬录之间映射的桥梁。在这里插入图片描述

数据卷命令

docker volume create #创建数据卷 
docker volume ls #查看所有数据卷 
docker volume rm #删除指定数据卷
docker volume inspect #查看某个数据卷的详情
docker volume prune #清除数据卷 

# 1.⾸先创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
# 2.然后查看数据卷
docker volume ls
# 结果
DRIVER VOLUME NAME
local 29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f
local html
# 3.查看数据卷详情
docker volume inspect html
# 结果
[
{
"CreatedAt": "2024-05-17T19:57:08+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/html/_data",
"Name": "html",
"Options": null,
"Scope": "local"
}
]
# 4.查看/var/lib/docker/volumes/html/_data⽬录
ll /var/lib/docker/volumes/html/_data
# 可以看到与nginx的html⽬录内容⼀样,结果如下:
总⽤量 8
-rw-r--r--. 1 root root 497 314 2024 50x.html
-rw-r--r--. 1 root root 615 314 2024 index.html
# 5.进⼊该⽬录,并随意修改index.html内容
cd /var/lib/docker/volumes/html/_data
vi index.html
# 6.打开⻚⾯,查看效果
# 7.进⼊容器内部,查看/usr/share/nginx/html⽬录内的⽂件是否变化
docker exec -it nginx bash

8.挂载本地⽬录或⽂件

数据卷的⽬录结构较深,去操作数据卷⽬录会不太⽅便。在很多情况下,会直接将容器⽬录与宿主机指定⽬录挂载。挂载语法与数据卷类似:

# 挂载本地⽬录
-v 本地⽬录:容器内⽬录
# 挂载本地⽂件
-v 本地⽂件:容器内⽂件

本地⽬录或⽂件必须以 / 或 ./ 开头,如果直接以名字开头,会被识别为数据卷名⽽⾮本地
⽬录名。

-v mysql:/var/lib/mysql # 会被识别为⼀个数据卷叫mysql,运⾏时会⾃动创建这个数据卷
-v ./mysql:/var/lib/mysql # 会被识别为当前⽬录下的mysql⽬录,运⾏时如果不存在会创建⽬录


http://www.kler.cn/a/274100.html

相关文章:

  • ros 发布Topic
  • 机器学习中的关键概念:通过SKlearn的MNIST实验深入理解
  • 我们信仰AI?从神明到人工智能——信任的进化
  • sql表的增删改、替换
  • Unity GetLocalizedString()失效问题
  • 【axios二次封装】
  • 嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)
  • 数据库系统概论-练手题集合【期末复习|考研复习】
  • 蓝桥杯之冲刺
  • 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里?为什么他们必须在同步方法或者同步块中被调用?
  • 码云使用 创建项目
  • 数据结构(三)复杂度的深层次剖析
  • 基于tcp协议的网络通信(基础echo版.多进程版,多线程版,线程池版),telnet命令
  • 【No.8】蓝桥杯工具函数模板|迭代器|vector|queue|map|set|银行问题|费里的语言|快递分拣(C++)
  • 携程Kar98k/hotelUuidKey算法分析
  • Stable Diffusion + Segment Anything试用
  • RocketMQ发送和接收方式详解
  • 从基础入门到学穿C++
  • <JavaEE> 了解网络层协议 -- IP协议
  • 【蓝桥杯每日一题】填充颜色超详细解释!!!
  • AWS监控,AWS 性能监控工具
  • 【日常记录】【插件】使用ColorThief,跟随图片变化改变网页背景
  • JDK1.8超详细安装教程
  • Json Web Token(JWT) 快速入门
  • Android 13 源码编译及报错修复
  • 【C++庖丁解牛】继承的概念及定义 | 继承中的作用域 | 继承与友元继承与静态成员 | 复杂的菱形继承及菱形虚拟继承