Docker基本配置及使用

本文详细介绍了如何在CentOS系统上卸载旧版Docker,配置yum库,安装DockerCE,启动并验证其运行,以及部署MySQL容器。此外,还概述了Docker常用命令和数据卷的创建、挂载和管理,帮助读者掌握Docker的基本操作。
摘要由CSDN通过智能技术生成

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⽬录,运⾏时如果不存在会创建⽬录

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是行东啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值