我正在使用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