阿里云龙蜥8系统安装Docker详细教程

一、系统准备

bash 复制代码
# 更新系统软件包
sudo yum update -y

二、安装Docker

步骤1:安装必要依赖包

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

步骤2:添加Docker软件源

bash 复制代码
# 使用阿里云镜像源(推荐)
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存在冲突,需要先卸载冲突包:

bash 复制代码
# 卸载冲突的软件包
sudo yum erase podman buildah --allowerasing

步骤4:安装Docker

bash 复制代码
# 安装最新版本Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --allowerasing

步骤5:启动Docker服务

bash 复制代码
# 启动Docker服务
sudo systemctl start docker

# 设置开机自启
sudo systemctl enable docker

步骤6:配置镜像加速器

  1. 登录阿里云控制台
  2. 进入"容器镜像服务" → "镜像工具" → "镜像加速器"
  3. 复制专属的加速器地址

三、制作ca证书

步骤1:首先创建一个目录用于存储生成的证书和秘钥

bash 复制代码
mkdir /home/docker-ca & cd /home/docker-ca

步骤2:创建CA证书私钥,期间需要输入两次用户名和密码,生成文件为ca-key.pem

bash 复制代码
openssl genrsa -aes256 -out ca-key.pem 4096

密码根据自己情况输入就行,比如我输入都是123456。

步骤3:根据私钥创建CA证书,期间需要输入上一步设置的私钥密码,生成文件为ca.pem

bash 复制代码
openssl req -new -x509 -days 365 -key ca-key.pem \
-sha256 -subj "/CN=*" -out ca.pem

步骤4:创建服务端私钥,生成文件为server-key.pem

bash 复制代码
openssl genrsa -out server-key.pem 4096

步骤5:创建服务端证书签名请求文件,用于CA证书给服务端证书签名,生成文件server.csr

bash 复制代码
openssl req -subj "/CN=*" -sha256 -new \
-key server-key.pem -out server.csr

步骤6:创建CA证书签名好的服务端证书,期间需要输入CA证书私钥密码,生成文件为server-cert.pem

bash 复制代码
openssl x509 -req -days 365 -sha256 -in server.csr \
-CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem

步骤7:创建客户端私钥,生成文件为key.pem

bash 复制代码
openssl genrsa -out key.pem 4096

步骤8:创建客户端证书签名请求文件,用于CA证书给客户证书签名,生成文件client.csr

bash 复制代码
openssl req -subj "/CN=client" -new -key key.pem -out client.csr

步骤9:为了让秘钥适合客户端认证,创建一个扩展配置文件extfile-client.cnf

bash 复制代码
echo extendedKeyUsage = clientAuth > extfile-client.cnf

步骤10:创建CA证书签名好的客户端证书,期间需要输入CA证书私钥密码,生成文件为cert.pem

bash 复制代码
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:删除创建过程中多余的文件

bash 复制代码
rm -rf ca.srl server.csr client.csr extfile-client.cnf

最终生成文件如下,有了它们我们就可以进行基于TLS的安全访问了

bash 复制代码
ca.pem CA证书
ca-key.pem CA证书私钥
server-cert.pem 服务端证书
server-key.pem 服务端证书私钥
cert.pem 客户端证书
key.pem 客户端证书私钥

四、配置docker支持TLS

步骤1:编辑docker服务启动文件

bash 复制代码
systemctl edit docker.service

步骤2:在原来的基础上往后添加启动参数

bash 复制代码
[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配置。

bash 复制代码
systemctl daemon-reload

步骤4:重启Docker容器

bash 复制代码
systemctl restart docker
相关推荐
光锥智能21 分钟前
AI风越大,云计算越贵
人工智能·云计算
南山十一少1 小时前
docker的安装及使用
运维·docker·容器
观测云1 小时前
阿里云 Tair 集群版可观测最佳实践
阿里云·云计算·观测云
无籽西瓜a1 小时前
Docker 环境下 Redis Lua 脚本部署与执行
redis·docker·lua
万里不留行1 小时前
解决ubuntu docker拉取环境失败问题
linux·ubuntu·docker
困惑阿三2 小时前
全栈部署排雷手册:从 405 报错到飞书推送成功
服务器·前端·后端·nginx·阿里云·node.js·飞书
无名-CODING2 小时前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(下):Vue前端Nginx反代与致命坑点盘点
前端·spring boot·docker
DJ斯特拉2 小时前
Docker基本使用
运维·docker·容器
无名-CODING2 小时前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(中):Spring Boot后端与Docker Compose串联
spring boot·后端·docker
洛阳泰山16 小时前
MaxKB4j Docker Compose 部署指南
java·docker·llm·springboot·rag·maxkb4j