CentOS7安装Docker和配置Docker Compose

本文档详述了在 CentOS7 系统上安装 Docker 和 DockerCompose 的步骤,包括删除旧版本 Docker、添加阿里云镜像源、配置开机自启动、设置镜像加速以及验证安装成功的全过程。此外,还解决了防火墙无法控制 Docker 容器端口的问题,并介绍了 DockerCompose 的安装与配置。
摘要由CSDN通过智能技术生成

一、前提条件和注意事项

  1. 要安装 Docker Engine 最低需要 CentOS 7 .

  2. 本文下面步骤中的命令都是在 root 账户下执行的,所以请先用 root 账户登录后再执行命令,或者使用 sudo 命令,为普通的命令授权,临时以 root 身份执行命令。

二、删除旧版本的 Docker(可选)

旧版本的 Docker 被称为dockerdocker-engine,Docker 引擎包现在称为docker-ce.。如果之前安装过这些旧版本的 Docker,可以使用下面的命令删除它们以及相关的依赖项:

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

注:这里的\表示命令的拼接,告诉系统这个命令没有结束,要接着往下读。如果一个命令太长,一行写不下,或者觉得换一行可读性更强,我们都可以加\.

三、安装 Docker

第1步:安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

第2步:添加软件源信息

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

注:这里使用到了阿里的镜像源

第3步:编辑文件

sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

注:sed 命令详情可参考:https://www.gnu.org/software/sed/manual/sed.html

第4步:将软件包信息提前在本地索引缓存

yum makecache fast

注:该命令详情可参考:https://blog.csdn.net/A___LEi/article/details/118340579

第5步:安装

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

第6步:启动 Docker 服务

systemctl start docker

第7步:验证 Docker 服务是否启动成功

方式一:查看 Docker 服务的状态
systemctl status docker

image-20221217223926110

执行命令后,可以看到,这里状态是 active (running) 说明 Docker 服务启动成功。

方式二:查看 Docker 的版本
docker -v
image-20221217224725357

执行命令后,如果能成功查看到版本,说明 Docker 的安装和启动是没问题的。

第8步:配置阿里云镜像加速

因为从官方的镜像仓库拉取镜像会比较慢,所以最好配置一下阿里云镜像加速,首先进入到阿里云的镜像加速器文档,然后登录阿里云账号,在操作文档中选择CentOS,最后按文档的步骤来进行操作即可。

第9步:运行 hello-world 镜像验证 Docker 能否正常使用

docker run hello-world
image-20221217225047519

执行命令后,可以看到 Docker 成功拉取和运行了 hello-world 镜像,至此 Docker 成功安装。

四、设置 Docker 服务开机自启动

因为本文是在虚拟机软件中安装了 CentOS7 系统,然后再在此基础上安装的 Docker 服务,所以如果不设置 Docker 服务开机自启的话,虚拟机关闭后再打开时,Docker 服务就需要自己手动启动,如下图所示:

image-20221217230145373

为了方便以后虚拟机开机后,Docker 服务能够自动启动,我们可以设置 Docker 服务开机自启,命令如下所示:

systemctl enable docker

执行命令后,关闭虚拟机再次开机时查看 Docker 服务的状态,可以看到 Docker 服务已经启动了,说明 Docker 服务开机自启设置成功。

image-20221217230643754

五、配置 Docker Compose

1. 验证 Docker Compose 是否已正确安装

docker compose version

执行命令后,如下图所示成功输出版本号,说明 Docker Compose 已正确安装
image-20230115214937762

2. 添加执行权限和移动位置

首先,查找 Docker Compose 的位置

find / -name docker-compose

查找到 Docker Compose 的位置,如下图所示:
image-20230115215957602

然后,给 Docker Compose 添加执行权限

chmod +x /usr/libexec/docker/cli-plugins/docker-compose

最后,将 Docker Compose 移动到/usr/local/bin目录下

mv /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin

六、解决防火墙不能控制 Docker 容器端口的问题

Docker 在运行容器的会修改 iptables,从而导致防火墙不能控制 Docker 容器端口
解决办法:

vim /etc/docker/daemon.json

/etc/docker/daemon.json文件中添加:

{
  "iptables": false
}
systemctl daemon-reload
systemctl restart docker

七、参考

  1. https://docs.docker.com/engine/install/centos/
  2. https://developer.aliyun.com/mirror/docker-ce
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值