Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
Macos Docker容器上的SSH设置_Macos_Ssh_Docker_Ubuntu 14.04_Boot2docker - Fatal编程技术网

Macos Docker容器上的SSH设置

Macos Docker容器上的SSH设置,macos,ssh,docker,ubuntu-14.04,boot2docker,Macos,Ssh,Docker,Ubuntu 14.04,Boot2docker,我已经使用安装了ssh服务器 sudo apt get在我的ubuntu上安装openssh服务器:在Mac OSX Yosemite上运行的最新Docker容器。我使用boot2dockerip获得了容器的IP地址。使用网络实用程序,我可以验证该IP上的端口22是否打开。但是,我不能ssh到该容器的文件系统中。我没有明确指定在使用docker start-I container\u NAME启动容器时应导出端口22。命令ssh-v localhost在容器的终端上成功执行,但当我尝试从Mac的

我已经使用安装了ssh服务器
sudo apt get在我的ubuntu上安装openssh服务器
:在Mac OSX Yosemite上运行的最新Docker容器。我使用
boot2dockerip
获得了容器的IP地址。使用网络实用程序,我可以验证该IP上的端口22是否打开。但是,我不能ssh到该容器的文件系统中。我没有明确指定在使用
docker start-I container\u NAME
启动容器时应导出端口22。命令
ssh-v localhost
在容器的终端上成功执行,但当我尝试从Mac的终端执行此操作时,它显示:

由x.x.x.x关闭的连接

我在这里复制sshd_config的内容:

使用
boot2dockerip
可以获得boot2dockervm的ip,而不是ssh容器的ip。要从Mac终端进行连接,您应该公开容器的端口22,然后可以从Mac会话使用Boot2Docker VM IP进行连接。即。:
docker run-d-p 2222:22 CONTAINER\u NAME
然后使用BOOT2DOCKER\u IP和2222端口通过ssh连接。

无需在容器内运行ssh。使用它。@PeterLyons我希望Mac上的IDE能够编辑驻留在docker容器中的代码。我不认为docker exec会让我顺利地做到这一点?没错,但更好的方法是使用一个卷,这样Mac上的IDE和docker中的代码都可以通过文件系统直接访问文件。有没有办法在已经运行的容器上公开端口?使用docker无法做到这一点,但是你可以做一些变通办法。检查此问题以查看详细信息