欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯!
默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作。
如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信。
修改Docker服务启动配置文件,添加一个未被占用的端口号,重启docker守护进程。
# vim /etc/default/docker
DOCKER_OPTS="-H 0.0.0.0:5555"
# service docker restart
此时发现docker守护进程已经在监听5555端口,在另一台主机上可以通过该端口访问Docker进程了。
# docker -H IP:5555 images
但是我们却发现在本地操作docker却出现问题。
# docker images
FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
这是因为Docker进程只开启了远程访问,本地套接字访问未开启。我们修改/etc/default/docker,然后重启即可。
# vim /etc/default/docker
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:5555"
# service docker restart
现在本地和远程均可访问docker进程了。