阿里云龙蜥8系统安装Docker详细教程
一、系统准备
# 更新系统软件包
sudo yum update -y
二、安装Docker
步骤1:安装必要依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
步骤2:添加Docker软件源
# 使用阿里云镜像源(推荐)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 或者使用官方源
# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
步骤3:解决冲突问题
由于龙蜥系统默认安装了podman,与Docker存在冲突,需要先卸载冲突包:
# 卸载冲突的软件包
sudo yum erase podman buildah --allowerasing
步骤4:安装Docker
# 安装最新版本Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --allowerasing
步骤5:启动Docker服务
# 启动Docker服务
sudo systemctl start docker# 设置开机自启
sudo systemctl enable docker
步骤6:配置镜像加速器
- 登录阿里云控制台
 - 进入"容器镜像服务" → “镜像工具” → “镜像加速器”
 - 复制专属的加速器地址
 
三、制作ca证书
步骤1:首先创建一个目录用于存储生成的证书和秘钥
mkdir /home/docker-ca & cd /home/docker-ca
步骤2:创建CA证书私钥,期间需要输入两次用户名和密码,生成文件为ca-key.pem
openssl genrsa -aes256 -out ca-key.pem 4096
密码根据自己情况输入就行,比如我输入都是123456。
步骤3:根据私钥创建CA证书,期间需要输入上一步设置的私钥密码,生成文件为ca.pem
openssl req -new -x509 -days 365 -key ca-key.pem \
-sha256 -subj "/CN=*" -out ca.pem
步骤4:创建服务端私钥,生成文件为server-key.pem
openssl genrsa -out server-key.pem 4096
步骤5:创建服务端证书签名请求文件,用于CA证书给服务端证书签名,生成文件server.csr
openssl req -subj "/CN=*" -sha256 -new \
-key server-key.pem -out server.csr
步骤6:创建CA证书签名好的服务端证书,期间需要输入CA证书私钥密码,生成文件为server-cert.pem
openssl x509 -req -days 365 -sha256 -in server.csr \
-CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
步骤7:创建客户端私钥,生成文件为key.pem
openssl genrsa -out key.pem 4096
步骤8:创建客户端证书签名请求文件,用于CA证书给客户证书签名,生成文件client.csr
openssl req -subj "/CN=client" -new -key key.pem -out client.csr
步骤9:为了让秘钥适合客户端认证,创建一个扩展配置文件extfile-client.cnf
echo extendedKeyUsage = clientAuth > extfile-client.cnf
步骤10:创建CA证书签名好的客户端证书,期间需要输入CA证书私钥密码,生成文件为cert.pem
openssl x509 -req -days 365 -sha256 -in client.csr \
-CA ca.pem -CAkey ca-key.pem -CAcreateserial \
-out cert.pem -extfile extfile-client.cnf
步骤11:删除创建过程中多余的文件
rm -rf ca.srl server.csr client.csr extfile-client.cnf
最终生成文件如下,有了它们我们就可以进行基于TLS的安全访问了
ca.pem CA证书
ca-key.pem CA证书私钥
server-cert.pem 服务端证书
server-key.pem 服务端证书私钥
cert.pem 客户端证书
key.pem 客户端证书私钥
四、配置docker支持TLS
步骤1:编辑docker服务启动文件
systemctl edit docker.service
步骤2:在原来的基础上往后添加启动参数
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock --tlsverify --tlscacert=/home/docker-ca/ca.pem --tlscert=/home/docker-ca/server-cert.pem --tlskey=/home/docker-ca/server-key.pem
步骤3:然后保存文件,执行下面命令重新加载systemctl配置。
systemctl daemon-reload
步骤4:重启Docker容器
systemctl restart docker
