1.1 检查是否安装docker
rpm -qa | grep docker*
1.2 设置仓库
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
在设置仓库之前,需要安装docker所需的软件包,yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
yum install -y yum-utils device-mapper-persistent-data lvm2
然后就可以设置仓库了,由于官方源地址比较慢,可以选择设置国内的源地址,选择使用阿里云
// 设置官方源地址
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
// 阿里云源地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
// 清华大学源地址
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
1.3 安装Docker
安装Docker,不是只有一个安装包,加上Docker的客户端,一共需要安装三个软件包
可以通过下面的命令,直接安装最新版本的软件包
yum install docker-ce docker-ce-cli containerd.io
如果提示是否接受 GPG 密钥,选择是。
如果需要安装特定版本的Docker,可以通过下面的命令列出存储库中的可用版本
[root@lizhi ~]# yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.11-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.10-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
Docker CE Stable - x86_64 60 kB/s | 19 kB 00:00
Available Packages
然后指定版本进行安装
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。
1.4 启动和关闭Docker
启动Docker
systemctl start docker
关闭Docker
systemctl stop docker.socket
启动测试镜像hello-world
,刚启动的时候,测试还没有镜像,会去下载
docker run hello-world
1.5 设置Docker开启启动
可以通过下面的命令查看已启动的服务
[root@lizhi ~]# systemctl list-units --type=service
UNIT LOAD ACTIVE SUB DESCRIPTION
aegis.service loaded active running Aegis Service
aliyun.service loaded active running Aliyun Assist
mysqld.service loaded active running MySQL Server
docker.service loaded active running Docker Application Container Engine
然后再通过下面的命令查看设置开启启动的服务
[root@lizhi ~]# systemctl list-unit-files | grep enable
aegis.service enabled
aliyun.service enabled
mysqld.service enabled
设置Docker开机启动
systemctl enable docker.service
关闭Docker开机启动
systemctl disable docker.service
1.6 卸载Docker
卸载软件包
yum remove docker-ce docker-ce-cli containerd.io
删除镜像、容器、配置文件等内容(运行环境)
// docker的默认工作路径
rm -rf /var/lib/docker
1.7 设置Docker容器自动启动
前面只设置了Docker服务的开机启动,但Docker里面的容器如果没有设置自动启动,Docker启动时容器也不会重启
Docker容器自动启动的选项有以下几种:
no 不自动重启容器. (默认value)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
在容器启动时加上--restart=always
,以下面MySQL
为例,启动MySQL服务并设置为跟随Docker一起启动
docker run -p 3306:3306 --name mysql --restart=always -v /application/mysql/conf:/etc/mysql/conf.d -v /application/mysql/logs:/logs -v /application/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.28
-p 3306:3306:将主机的3306端口映射到docker容器的3306端口。
--name mysql:运行服务名字
-v /application/mysql/conf:/etc/mysql/conf.d :将主机/application/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
-v /application/mysql/logs:/logs:将主机/application/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /application/mysql/data:/var/lib/mysql :将主机/application/mysql目录下的data目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root123:初始化 root 用户的密码。
-d mysql:8.0.28 : 后台程序运行mysql:8.0.28
如果容器已经启动,则使用update
进行更新
docker update --restart=always 容器id或name
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153623.html