作者:zqifa
出處:http://www.cnblogs.com/zqifa/
默認情況下,Docker守護進程Unix socket(/var/run/docker.sock)來進行本地進程通信,而不會監聽任何端口,因此只能在本地使用docker客戶端或者使用Docker API進行操作。如果想在其他主機上操作Docker主機,就需要讓Docker守護進程打開一個HTTP Socket,這樣才能實現遠程通信。
編輯docker的配置文件/etc/default/docker修改DOCKER_OPTS成
#同時監聽本地unix socket和遠程http socket(2375)
DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375"
然后重新啟動docker守護進程。
sudo service docker restart
至此如果服務器啟用了防火牆,只要把2375端口開放既可以在其他主機訪問本docker實例了。
例如:
DOCKER_HOST=$host:2375 docker ps
此時發現docker守護進程已經在監聽2375端口,在另一台主機上可以通過該端口訪問Docker進程了。
# docker -H IP:2375 images
本地操作docker。
# docker images