运行 可以通过 SSH 进入的本地 docker 容器
Run local docker container that can be SSHed into
我正在尝试测试对 Capastrano 应用程序的一些更改。我希望在本地 运行 一个 docker 容器,我的应用程序可以通过 SSH 进入,这样我就可以 运行针对容器发出命令并观察会发生什么。
我在看 https://hub.docker.com/r/rastasheep/ubuntu-sshd/。我可以通过 ssh root@localhost -p 49154
ssh 进入,但我需要能够通过它的 IP 和端口 22
访问,例如ssh root@172.17.0.2
但这会超时。
我怀疑我需要做一些 docker 网络类型的东西才能让它工作。有什么想法吗?
你可以试试:
docker exec -it <container_id> bash
这实际上会让您获得容器的 shell,并使您能够查看容器内部发生的情况并对其进行调试。
阅读 Capastrano 文档后,我意识到我可以在定义角色时提供端口。所以我可以用
调出容器
docker run -d -P -p 32770:22 --name server rastasheep/ubuntu-sshd:14.04
并附加到它:
role :cost_app, "root@localhost:32770"
我正在尝试测试对 Capastrano 应用程序的一些更改。我希望在本地 运行 一个 docker 容器,我的应用程序可以通过 SSH 进入,这样我就可以 运行针对容器发出命令并观察会发生什么。
我在看 https://hub.docker.com/r/rastasheep/ubuntu-sshd/。我可以通过 ssh root@localhost -p 49154
ssh 进入,但我需要能够通过它的 IP 和端口 22
访问,例如ssh root@172.17.0.2
但这会超时。
我怀疑我需要做一些 docker 网络类型的东西才能让它工作。有什么想法吗?
你可以试试:
docker exec -it <container_id> bash
这实际上会让您获得容器的 shell,并使您能够查看容器内部发生的情况并对其进行调试。
阅读 Capastrano 文档后,我意识到我可以在定义角色时提供端口。所以我可以用
调出容器docker run -d -P -p 32770:22 --name server rastasheep/ubuntu-sshd:14.04
并附加到它:
role :cost_app, "root@localhost:32770"