安装Docker并配置证书
第一部分: Docker 安装
1. 更新系统软件源 yum -y update 2. 卸载原有Docker yum remove -y docker docker-common docker-selinux docker-engine 3. 设置 yum 源 3.1 安装 yum-utils , 这样就能使用 yum-config-manager 工具设置 Yum 源。 yum install -y yum-utils device-mapper-persistent-data lvm2 3.2 添加 Docker 的 yum 源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3.3 更新 yum 索引 yum makecache fast 4. 安装最新版的Docker yum install docker-ce 5. 启动Docker systemctl start docker 6. 设置Docker开机启动 systemctl enable docker 7. 验证Docker是否成功安装 7.1 查看Docker版本 docker version 7.2 运行hello-world docker run hello-world 运行后能看到Hello from Docker!说明安装正确 8. 安装docker-compose 8.1 下载docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 8.2 赋予执行权限 chmod +x /usr/local/bin/docker-compose 8.3 查看版本验证是否成功 docker-compose --version
第二部分: 生成证书
1. 在/usr/local目录下创建个文件夹,这里取名叫ca,然后进入ca文件夹中 mkdir -p /usr/local/ca cd /usr/local/ca 2. 创建ca证书key openssl genrsa -aes256 -out ca-key.pem 4096 3. 创建ca证书, 根据提示分别输入国家,省份,城市,组织,等一系列信息 openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem 4. 生成server-key.pem openssl genrsa -out server-key.pem 4096 5. 创建证书签名文件,记得把$HOST替换成自己的服务器IP或域名 openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr 6. 配置证书白名单,注意:Host和IP都可以配置多个 echo subjectAltName = DNS:$HOST,IP:$IP >> extfile.cnf 如需多个: echo subjectAltName = DNS:$HOST,DNS:$HOST,IP:$IP,IP:$IP >> extfile.cnf 7. 执行: echo extendedKeyUsage = serverAuth >> extfile.cnf 8. 用以生成ca-key,需输入之前的密码 openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out server-cert.pem -extfile extfile.cnf 9. 生成客户端所需的key openssl genrsa -out key.pem 4096 10. 生成客户端key的签名 openssl req -subj '/CN=client' -new -key key.pem -out client.csr 11. 写入客户端授权参数 echo extendedKeyUsage = clientAuth >> extfile.cnf 12. 创建客户端证书,需要输入前面设置的密码 openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out cert.pem -extfile extfile.cnf 13. 删除不需要的文件 rm -v client.csr server.csr 14. 修改证书文件权限 chmod -v 0400 ca-key.pem key.pem server-key.pem chmod -v 0444 ca.pem server-cert.pem cert.pem 15. 下载客户端认证证书到本地 ca.pem , cert.pem, key.pem 后面连接Docker都需要这三个文件 到此证书文件已经创建完毕 #### 第二: 配置Docker加密连接
第三部分: 配置Docker加密连接
1. 进入在上一步生成证书的目录,归集服务器证书 cp server-*.pem /etc/docker/ cp ca.pem /etc/docker/ 2. 修改Docker配置 vi /lib/systemd/system/docker.service 修改文件,替换ExecStart如下: ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock 3. 重启Docker systemctl daemon-reload systemctl restart docker 4. 防火墙放开 2376 端口 5. 测试连接 curl https://$IP:2376/images/json --cert cert.pem --key key.pem --cacert ca.pem
附上Markdown说明
扫一扫访问 Blade技术社区 移动端