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:
systemctl restart docker.service(Ubuntu16.04)
查看有了“-H”表示成功
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不起作用??梢杂腥缦聨追N設置:
1、直接編輯配置文件:Centos中docker daemon配置文件在/lib/systemd/system/docker.service,找到以下字段,在后面添加如下,注意,此處不能用"fd://",否則報錯
... [Service] ... ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
執行
systemctl daemon-reload systemctl restart docker.service
2、systemctl edit docker.service,或者編輯vim /etc/systemd/system/docker.service.d/override.conf(必須這樣,少一行都不行,unix://也不能按官方寫fd://)
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
同樣執行
systemctl daemon-reload systemctl restart docker.service
最后查看是否成功,添加了-H參數,啟動了端口(端口默認為2375,但是可以改):
[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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選