连接期间出错:获取"http://direct.labs.play-with-docker.com:2375/v1.24/containers/json":EOF



我正在使用docker上下文,我成功地创建了一个名为pwd的上下文。

➜  ~ docker context create --docker "host=tcp://ip172-18-0-89-c5e2kunnjsv000dgin8g@direct.labs.play-with-docker.com:2375" pwd
pwd
Successfully created context "pwd"

现在我切换到docker context use pwd,它带回pwd,这意味着我现在使用pwd。

➜  ~ docker context use pwd 
pwd

所以现在如果我输入docker context ls它返回如下:

➜  ~ docker context ls
NAME                TYPE                DESCRIPTION                               DOCKER ENDPOINT                                                                  KUBERNETES ENDPOINT   ORCHESTRATOR
default             moby                Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                                                                            swarm
desktop-linux       moby                                                          unix:///Users/ali/.docker/run/docker.sock                                                              
pwd *               moby                                                          tcp://ip172-18-0-89-c5e2kunnjsv000dgin8g@direct.labs.play-with-docker.com:2375 

所以现在我在pwd!

,但如果我输入docker ps,例如,或任何命令,它返回一个错误:

error during connect: Get "http://direct.labs.play-with-docker.com:2375/v1.24/containers/json": EOF

什么错误? !

我找到了答案!发生错误是因为第一行(创建上下文):

PWD(play with docker)给我们的ssh地址是:

ssh ip172-18-0-89-c5e2kunnjsv000dgin8g@direct.labs.play-with-docker.com
对于创建上下文,我们使用以下命令:

➜  ~ docker context create --docker "host=tcp://ip172-18-0-89-c5e2kunnjsv000dgin8g@direct.labs.play-with-docker.com:2375" pwd

但诀窍是我们应该用.代替@…所以命令应该是这样的:

➜  ~ docker context create --docker "host=tcp://ip172-18-0-89-c5e2kunnjsv000dgin8g.direct.labs.play-with-docker.com:2375" pwd

,现在它的工作像魅力!

例如:

➜  ~ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
3f6cf27f5a09   nginx     "/docker-entrypoint.…"   26 minutes ago   Up 25 minutes   0.0.0.0:8080->80/tcp   web

最新更新