在 Systemd 上使用 TLS 啟用遠端訪問

將軟體包安裝程式單元檔案複製到/ etc,以便在升級時不會覆蓋更改:

cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service

使用 ExecStart 上的選項更新/etc/systemd/system/docker.service:

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376 \
  --tlsverify --tlscacert=/etc/docker/certs/ca.pem \
  --tlskey=/etc/docker/certs/key.pem \
  --tlscert=/etc/docker/certs/cert.pem

請注意,dockerd 是 1.12 守護程序名稱,之前是 docker daemon。另請注意,2376 是 dockers 標準 TLS 埠,2375 是標準的未加密埠。有關建立自己的 TLS 自簽名 CA,證書和金鑰的步驟,請參閱此頁面

更改 systemd 單元檔案後,執行以下命令重新載入 systemd 配置:

systemctl daemon-reload

然後執行以下命令重新啟動 docker:

systemctl restart docker

暴露 Docker 埠時跳過 TLS 加密是一個壞主意,因為對此埠具有網路訪問許可權的任何人都有效地在主機上具有完全 root 訪問許可權。