Docker学习笔记 — 开启Docker远程访问

 默认情况下,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进程了。

原文地址:https://www.cnblogs.com/lijinze-tsinghua/p/8671447.html