没有为test_sshd发布公共端口“22 / tcp”
我试图执行此操作:
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
你能在这里给我一个踢吗?
选项-Pdynamic地随机绑定一个端口,这就是为什么你需要另一个步骤来使用docker port
关联一个docker port
。 我会用一个免费的静态端口来访问这个容器的ssh端口:
docker container run -d -p 2222:22 --name test_sshd rastasheep/ubuntu-sshd:16.04 ssh root@localhost -p 2222
当dockerd重新启动时,此端口设置仍然存在。