默認情況下,Docker守護進程會生成一個 /var/run/docker.sock 文件來進行本地進程通信,而不會監聽任何端口,所以默認情況下 Docker 只能在本地使用命令行操作。 如果要在其它機器上遠程操作 Docker 主機,就需要讓 Docker 監聽一個端口,這樣才能實現遠程通信。
在我的 CentOS 7X 上,首先修改 Docker 配置文件 /etc/sysconfig/docker 中的 OPTIONS 參數,添加
-H unix:///var/run/docker.sock -H 0.0.0.0:5555
修改后參數類似
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H unix:///var/run/docker.sock -H 0.0.0.0:5555'
然后重新啟動 Docker 服務
sudo systemctl restart docker.service
最后,在遠程機器上運行命令測試一下
sudo docker -H <HOST>:5555 images