没有为test_sshd发布公共端口'22 / tcp'

时间:2017-06-08 07:54:09

标签: docker

我正在尝试执行此操作:

https://hub.docker.com/r/rastasheep/ubuntu-sshd/

即,我跑:

sudo docker run -d -P --name test_sshd rastasheep/ubuntu-sshd:16.04 

然后

sudo docker port test_sshd 22

我可以看到类似的东西:

0.0.0.0:49154

我可以跑:

ssh root@localhost -p 49154 

但是一旦我重新启动计算机,我就会看到:

sudo docker port test_sshd 22
Error: No public port '22/tcp' published for test_sshd

你能帮我一把吗?

1 个答案:

答案 0 :(得分:0)

选项 -P 动态且随机地绑定端口,这就是您需要使用docker port关联端口的另一个步骤的原因。 我会用一个免费的静态端口来访问这个容器的ssh端口:

docker container run -d -p 2222:22 --name test_sshd rastasheep/ubuntu-sshd:16.04
ssh root@localhost -p 2222

重新启动 dockerd 时,此端口设置仍然存在。