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
相關文章
相關標籤/搜索