實現docker客戶端與另一台主機上的docker守護程序進行通訊
主機版本為centos7.4,docker版本為docker-ce-18.09.7-3.el7.x86_64
node1:192.168.0.111
node2:192.168.0.107
兩台安裝docker的環境
保證兩台主機上的docker的client api與server api版本一致
node1:
[root@localhost ~]# vim /etc/docker/daemon.json
檢視效果
修改通訊方式共有三種方式:
修改daemon.json檔案,新增host鍵值對
新增:「hosts」: [「tcp:
開放本機ip的2375埠,可以讓其他docker主機的client進行連線
修改/lib/systemd/system/docker.service檔案,新增-h啟動引數
修改:execstart=/usr/bin/docker -h tcp:
使用dokcerd啟動docker,新增-h引數
dockerd -h tcp:
centos7中/etc/docker/daemon.json會被docker.service的配置檔案覆蓋,直接新增daemon.json不起作用
所以我使用的是第二種方式
如果頻繁使用-h選項未免太過於麻煩,可以修改docker_host這個環境變數的值,node2就可以像使用本地的docker一樣來遠端連線node1的守護程序
當無需再遠端連線node1的守護程序時,將docker_host環境變數置空即可
因為node1設定了修改client與守護程序的通訊方式,所以本地無法再通過預設的socket進行連線,必須使用-h選項通過tcp來進行連線,也可以通過docker_host來修改
[root@localhost ~]# docker info
cannot connect to the docker daemon at unix:///var/run/docker.sock. is the docker daemon running?
[root@localhost ~]# docker -h 0.0.0.0:2375 info
如果本機依舊希望使用預設的socket進行連線,可以在/lib/systemd/system/docker.service中再新增乙個-h選項
[root@localhost ~]# vim /lib/systemd/system/docker.service
execstart=/usr/bin/dockerd -h tcp: -h unix:///var/run/docker.sock
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# ps -ef | grep docker
root 6462 1 2 23:40 ? 00:00:00 /usr/bin/dockerd -h tcp: -h unix:///var/run/docker.sock
root 6467 6462 0 23:40 ? 00:00:00 docker-containerd --config /var/run/docker/containerd/containerd.toml
root 6567 3919 0 23:40 pts/1 00:00:00 grep --color=auto docker
[root@localhost ~]# docker info
docker開啟遠端訪問
預設情況下,docker守護程序unix socket var run docker.sock 來進行本地程序通訊,而不會監聽任何埠,因此只能在本地使用docker客戶端或者使用docker api進行操作。如果想在其他主機上操作docker主機,就需要讓docker守護程序開啟乙個http soc...
docker開啟遠端訪問
vi lib systemd system docker.service修改docker.service檔案中以execstart開頭的行 centos 7修改為 execstart usr bin dockerd h tcp h unix var run docker.sockcentos7以下修...
docker無法遠端訪問
首先,docker能夠被遠端訪問的話,需要編輯docker所在的宿主機中的檔案 lib systemd system docker.service 修改以execstart開頭的行,在其後面直接新增下面內容即可 h tcp h unix var run docker.sock修改後儲存檔案,配置檔案...