docker如何配置remote访问
缺省情况下docker使用本地unix socket来实现client和server之间的通信,这在一台机器上没有问题,但是在跨机器条件下unix socket就不能工作了。好在docker支持原创tcp的连接方式。
下面说明如何配置docker的remote访问。
- 找到docker的配置文件
$ service docker status
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf, http-proxy.conf
Active: active (running) since Wed 2019-03-13 16:36:49 CST; 29s ago
...
我们找到docker的配置文件路径为:/usr/lib/systemd/system/docker.service
- 修改启动配置文件
可以创建一个新的文件(文件名不重要,只要放在配置路径下面即可),也可以在旧的文件里面修改;建议使用新的文件,通过文件名来标识这个配置文件的功能;
$ cat /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
- 重启docker service
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service
- 验证可用
$ docker -H localhost:2375 ps