要在Ubuntu上遠程管理Docker,您可以按照以下步驟進行配置:
首先,您需要修改Docker的配置文件以允許遠程訪問。
打開 /lib/systemd/system/docker.service 文件并備份:
sudo cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak
編輯Docker配置文件:
sudo nano /lib/systemd/system/docker.service
找到 ExecStart 這一行,將其替換為以下內容,以允許Docker監聽在所有IP地址的2375端口(非加密,僅限內網使用):
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2375
保存并退出編輯器。
默認情況下,Docker使用2375端口。您需要確保防火墻允許外部訪問該端口。
允許TCP訪問2375端口:
sudo ufw allow 2375/tcp
重新加載防火墻規則:
sudo ufw reload
在配置完成后,您可以在一臺遠程設備上使用Docker客戶端進行連接測試。
使用以下命令連接到遠程Docker守護進程:
docker -H tcp://<你的Ubuntu服務器的IP>:2375 info
如果一切正常,這條命令應該會返回Docker服務器的信息。
為了提高安全性,建議使用TLS加密連接。
生成TLS證書:
mkdir -p /etc/docker/certs && cd /etc/docker/certs
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 3650 -key ca-key.pem -sha256 -out ca.pem
編輯Docker配置文件以啟用TLS:
sudo nano /etc/docker/daemon.json
添加以下內容:
{
"debug": true,
"hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"],
"tlsverify": true,
"tlscacert": "/etc/docker/certs/ca.pem",
"tlskey": "/etc/docker/certs/ca-key.pem"
}
重啟Docker守護進程:
sudo systemctl daemon-reload
sudo systemctl restart docker
客戶端配置: 在客戶端計算機上,設置環境變量以連接到遠程Docker守護進程:
export DOCKER_HOST=tcp://<你的Ubuntu服務器的IP>:2376
使用以下命令測試連接:
docker info
通過上述步驟,您可以在Ubuntu上成功配置Docker的遠程訪問,并確保連接的安全性。請注意,在生產環境中,使用加密連接(例如2376端口)是非常重要的,以確保不被攻擊者惡意訪問。配置完成后,別忘了重啟Docker服務以使更改生效。