Ubuntu와 Docker가 둘 다 설치된 두 개의 VM (A 및 B)이 있습니다. 동일한 가상 네트워크에 배치됩니다. B에서 A의 도커 데몬에 액세스하고 싶습니다.
이를 위해 A의 데몬을 포트 2375에 바인딩했습니다. 이렇게하려면 다음을 추가했습니다.
ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS
EnvironmentFile=-/etc/default/docker
에 /lib/systemd/system/docker.service
및
DOCKER_OPTS="-H tcp://0.0.0.0:2375"
...에 /etc/default/docker
BI 사용에 docker -H=192.168.71.129:2375 run hello-world
와 얻을 docker: Cannot connect to the Docker daemon...
오류입니다.
두 컴퓨터에서 iptables가 비활성화됩니다.
sudo docker -H 192.168.71.129:2375 run hello-world
에 A
작동합니다.
sudo netstat -tunlp | grep docker
에 A
출력
tcp6 0 0 :::2375 :::* LISTEN 10363/docker
에서 이 포스트 I의 본 고정 표시기의 나머지 API는 핑 엔드 포인트를 가지고있다. 나는에서이 엔드 포인트를 호출하는 경우 B
에 echo -e "GET /_ping HTTP/1.1\r\n" | nc 192.168.71.129 2375
, 나는 얻을 200 OK
코드입니다. 그래서 Enpoint는 결정적입니다.
내 Docker 클라이언트 B
가 데몬에 연결할 수없는 이유를 알려주시겠습니까 A
?
IP A
192.168.71.129
IP B
192.168.71.128
user@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
에서 A
user@ubuntu:~$ docker -H 192.168.71.129:2375 version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:47:50 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:47:50 2016
OS/Arch: linux/amd64
에서 B
user@ubuntu:~$ docker -H 192.168.71.129:2375 version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:47:50 2016
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
proxysettings를 제외하고는 모든 것이 괜찮 았습니다 ... Docker는 systemproxy를 사용하여 IP에 연결합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다