Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行可放入的本地docker容器_Docker_Capistrano - Fatal编程技术网

运行可放入的本地docker容器

运行可放入的本地docker容器,docker,capistrano,Docker,Capistrano,我正在尝试测试对Capastrano应用程序的一些更改。我希望在本地运行一个docker容器,我的应用程序可以通过SSH连接到该容器,这样我就可以对该容器运行命令并观察发生了什么 我在看。我可以通过sshssh进入root@localhost-p 49154,但我需要能够通过它的IP和端口22,例如ssh访问root@172.17.0.2但这将超时 我想我需要做一些docker网络类型的工作来让它工作。有什么想法吗?你可以试试: docker exec -it <container_id&

我正在尝试测试对Capastrano应用程序的一些更改。我希望在本地运行一个docker容器,我的应用程序可以通过SSH连接到该容器,这样我就可以对该容器运行命令并观察发生了什么

我在看。我可以通过ssh
ssh进入root@localhost-p 49154
,但我需要能够通过它的IP和端口
22
,例如
ssh访问root@172.17.0.2
但这将超时

我想我需要做一些docker网络类型的工作来让它工作。有什么想法吗?

你可以试试:

docker exec -it <container_id> bash
docker exec-it bash

这将基本上为您提供容器的外壳,使您能够查看容器内部的情况并对其进行调试。

阅读Capastrano文档后,我意识到我可以在定义角色时提供端口。因此,我可以使用

docker run -d -P -p 32770:22 --name server rastasheep/ubuntu-sshd:14.04

并附上:

role :cost_app, "root@localhost:32770"

您需要对映像布局进行一些重大修改,以使ssh能够进入映像,并进行一些复杂的设置以安全地管理凭据。(用户密码和主机密钥都不能存储在映像中。)虚拟机可能更适合此设置。启动容器时,添加密钥也很方便
ssh copy idroot@localhost-p 32770