I am trying to manually use the docker:19.03.5-dind image as shown by the "How to use this image" section.
First I am running the daemon
$ docker run --privileged -d --rm --name=docker-daemon \
--network=test docker:19.03.5-dind
e1f8544d30df5bc010d67e38b38be0f47306b29ab0fdeb32861c5716582c9917
Run Code Online (Sandbox Code Playgroud)I see that it is up and listens on port 2376
$ docker logs docker-daemon
...
time="2019-11-28T11:31:40.266976728Z" level=info msg="Daemon has completed initialization"
time="2019-11-28T11:31:40.550083421Z" level=info msg="API listen on [::]:2376"
time="2019-11-28T11:31:40.550169911Z" level=info msg="API listen on /var/run/docker.sock"
Run Code Online (Sandbox Code Playgroud)Next I bring up the docker client:
$ docker run -it --rm --name=my-docker \
--network=test --link=docker-daemon:docker docker:19.03.5
Run Code Online (Sandbox Code Playgroud)From the client I can ping the docker-daemon and its docker alias
# ping docker-daemon -c1
PING docker-daemon (172.20.0.2): 56 data bytes
64 bytes from 172.20.0.2: seq=0 ttl=64 time=0.146 ms
...
# ping docker -c1
PING docker (172.20.0.2): 56 data bytes
64 bytes from 172.20.0.2: seq=0 ttl=64 time=0.177 ms
...
Run Code Online (Sandbox Code Playgroud)But still I can't run docker:
# docker ps
Cannot connect to the Docker daemon at tcp://docker:2375. Is the docker daemon running?
Run Code Online (Sandbox Code Playgroud)Shouldn't it try to connect on port 2376? What am I missing here?
My host running Ubuntu 18.04 with Docker version 18.09.7, build 2d0083d
您需要按照链接文档中的步骤进行操作,包括将证书目录作为卷安装在两个容器中,并在客户端容器上传递 env 变量:
$ docker run --privileged --name some-docker -d \
--network some-network --network-alias docker \
-e DOCKER_TLS_CERTDIR=/certs \
-v some-docker-certs-ca:/certs/ca \
-v some-docker-certs-client:/certs/client \
docker:dind
$ docker run --rm --network some-network \
-e DOCKER_TLS_CERTDIR=/certs \
-v some-docker-certs-client:/certs/client:ro \
docker:latest version
Run Code Online (Sandbox Code Playgroud)
第一个映像填充卷安装,第二个映像使用这些证书通过 2376 进行通信。如果没有证书,它会尝试连接到未加密的 2375 端口,该端口在 19.03 dind 映像中默认未启用。
归档时间: |
|
查看次数: |
9234 次 |
最近记录: |