Docker为C/S架构,服务端为docker daemon,客户端为docker.service.支持本地unix socket域套接字通信与远程socket通信。默认为本地unix socket通信,要支持远程客户端访问需要做如下设置(仅用于测试,生产环境开启会极大增加不安全性:由于开了监听端口,任何人可以通过远程连接到docker daemon服务器进行操作):
1、设置daemon监听连接:
添加本地默认监听端口,模式为IP:port
Ubuntu:
修改daemon配置:/etc/docker/daemon.json,添加如下行:
重启docker:
1
|
systemctl restart docker.service(Ubuntu16.04) |
查看有了“-H”表示成功
1
2
3
4
|
root@ubuntu:~ # ps aux|grep dockerd root 113731 0.5 0.1 636160 47536 ? Ssl 10:54 0:00 /usr/bin/dockerd -H unix: ///var/ -H tcp: //0 .0.0.0 root@ubuntu:~ # netstat -lant|grep 2375 tcp6 0 0 :::2375 :::* LISTEN |
Centos7:
/etc/docker/daemon.json会被docker.service的配置文件覆盖,直接添加daemon.json不起作用。可以有如下几种设置:
1、直接编辑配置文件:Centos中docker daemon配置文件在/lib/systemd/system/docker.service,找到以下字段,在后面添加如下,注意,此处不能用"fd://",否则报错
1
2
3
4
|
... [Service] ... ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 |
执行
1
2
|
systemctl daemon-reload systemctl restart docker.service |
2、systemctl edit docker.service,或者编辑vim /etc/systemd/system/docker.service.d/override.conf(必须这样,少一行都不行,unix://也不能按官方写fd://)
1
2
3
|
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 |
同样执行
1
2
|
systemctl daemon-reload systemctl restart docker.service |
最后查看是否成功,添加了-H参数,启动了端口(端口默认为2375,但是可以改):
1
2
3
4
5
|
[root@myrepo docker.service.d] # ps aux|grep dockerd root 5567 8.0 2.0 632976 37696 ? Ssl 15:08 0:00 /usr/bin/dockerd -H tcp: //0 .0.0.0:2376 -H unix: ///var/run/docker .sock root 6143 0.0 0.0 112660 976 pts /0 S+ 15:08 0:00 grep --color=auto dockerd [root@myrepo docker.service.d] # netstat -lant|grep 2376 tcp6 0 0 :::2376 :::* LISTEN |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_37467907/article/details/79537801