Centos下 docker-ce(支持TLS)及docker-compose安装与配置

Docker中文社区 https://www.docker.org.cn/index.htmlhtml

1、docker(支持TLS)及docker-compose安装与配置

一、安装依赖包及设置阿里云镜像

$ yum install -y yum-utils device-mapper-persistent-data lvm2   
$ yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ yum clean all&&yum makecache  #重建Yum缓存

二、安装 Docker-CE

$ yum install docker-ce -y                                              #yum安装docker-ce
$ systemctl enable docker
$ useradd -d /opt/docker/data/ -g docker -m docker   #建立docker用户及组并指定自定义目录/opt/docker/data/
$ mkdir -p /opt/docker/data/
$ chown -R docker.docker /opt/docker/data/
#启用TLS安全访问(服务端及客户端)
#在Docker守护程序的主机上,生成CA私钥和公钥
$ mkdir -p /root/.tls/
$ cd /root/.tls/
$ openssl genrsa -aes256 -out ca-key.pem 4096       #(输入自定义密码)
$ openssl req -new -x509 -days 3650 -subj "/C=CN/ST=ZJ/L=HZ/O=Careyes/OU=IT/CN=域名/emailAddress=793413226@qq.com" -key ca-key.pem -sha256 -out ca.pem                      #(输入相同密码)
#如今您已经有了CA,建立服务器密钥和证书签名请求(CSR)。确保“公用名”与您用于链接到Docker的主机名匹配
$ openssl genrsa -out server-key.pem 4096
$ openssl req -subj "/CN=域名" -sha256 -new -key server-key.pem -out server.csr
#用CA签署公钥
$ echo subjectAltName = DNS:域名,IP:内网IP地址,IP:127.0.0.1 >> extfile.cnf
$ echo extendedKeyUsage = serverAuth >> extfile.cnf
#生成签名证书
$ openssl x509 -req -days 3650 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf                                #(输入相同密码)
#建立客户端密钥和证书签名请求
$ openssl genrsa -out key.pem 4096
$ openssl req -subj '/CN=client' -new -key key.pem -out client.csr
$ echo extendedKeyUsage = clientAuth > extfile-client.cnf
$ openssl x509 -req -days 3650 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf
#删除多余文件(保留5个文件,其中服务端用:ca.pem server-cert.pem server-key.pem,客户端用:ca.pem cert.pem key.pem)
$ rm -rf ca-key.pem ca.srl client.csr extfile-client.cnf extfile.cnf server.csr
$ vim /usr/lib/systemd/system/docker.service                            #修改docker配置
ExecStart原配置后面新增   \
--graph=/opt/docker/data \
--tlsverify \
--tlscacert=/root/.tls/ca.pem \
--tlscert=/root/.tls/server-cert.pem \
--tlskey=/root/.tls/server-key.pem \
-H tcp://0.0.0.0:端口 \
-H unix:///var/run/docker.sock
#备注:graph为存储路径,unix:///var/run/docker.sock用来链接docker,字符串左边不能有空格
#镜像加速,建立文件/etc/docker
$ mkdir -p /etc/docker
$ tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
#启动加载
$ systemctl daemon-reload && systemctl restart docker
#查看docker信息
$ docker info
$ docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=IP或者域名:端口 version #测试链接便可

三、docker-compose 安装(最新版本1.27.4,记录时间20210111),下载时记得多试几回,才会下载正常

#地址:https://github.com/docker/compose/releases
$ curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
相关文章
相关标签/搜索