Docker 没有公共端口';22/tcp';为测试而出版

Docker 没有公共端口';22/tcp';为测试而出版,docker,Docker,我正在尝试执行以下操作: 也就是说,我运行: sudo docker run -d -P --name test_sshd rastasheep/ubuntu-sshd:16.04 然后 我可以看到这样的情况: 0.0.0.0:49154 我可以跑: ssh root@localhost -p 49154 但当我重新启动计算机时,我看到: sudo docker port test_sshd 22 Error: No public port '22/tcp' published fo

我正在尝试执行以下操作:

也就是说,我运行:

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

我可以看到这样的情况:

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
你能给我一个提示吗?

选项-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时,此端口设置将持续存在

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