如何使用"远程系统"在Eclipse中查看探索Docker容器文件系统?

时间:2015-08-20 20:28:30

标签: eclipse docker remote-access boot2docker

Eclipse Remote Systems视图是连接到虚拟机并浏览其文件系统的绝佳工具,目前可以使用以下选项:

enter image description here

首先,我通过运行此命令找出容器IP:

docker inspect <container> | grep IPAddress | cut -d '"' -f 4

获得IP后,我从New Connection视图启动了Remote Systems向导,我尝试选择LinuxSSH onlyFTP only Hostname字段我粘贴容器IP,单击完成并且连接似乎已成功创建,现在当我尝试展开它提示用户和密码的Files节点时,问题是我没有这些信息,用户/通行证是否因容器而异?我怎样才能得到这些信息?

2 个答案:

答案 0 :(得分:1)

您可以使用该图像实例化容器,但使用shell,以便您可以看到在该图像上配置了哪些用户名。

docker run -it node /bin/bash

然后,您可以配置用户,密码并执行:

docker commit <image-name> my-node:0.1 

然后您可以实例化一个新容器:

docker run -d -p 80:9080 -p 443:9443 my-node

ssh是否也在该容器中运行?如果没有,你必须将它安装到容器中,以便你可以ssh到它。

答案 1 :(得分:1)

docker容器一次只运行一个父进程(在主机上,父进程是&#39; init&#39;它运行一堆系统服务)。对于节点容器,该父进程是节点服务器。

Eclipse通过使用某种协议连接到该计算机上的侦听器来连接到远程计算机。例如,FTP的SSH。使用docker容器,没有进程监听此连接,因此您无法使用Eclipse进行连接。你有两个选择......

  1. 使用命令行和docker exec连接到计算机并浏览其文件系统。没有漂亮的照片,但你不需要很多知识。

  2. 以某种方式修改容器以连接到它。你有两个选择......

  3. 一个。修改映像以运行SSH守护程序。一种简单的方法是使用phusion / baseimage容器作为父级,并使其生成ssh守护程序和节点服务器。你需要知道很多关于linux系统管理员才能使这个工作(不是很多,但数量很多)。

    B中。使用不同的命令(例如ssh -d)启动容器的第二个副本。然后,您可以连接到第二个副本。这有一个缺点,它不会成为你感兴趣的同一个容器,你仍然必须修改图像,因为我怀疑节点图像甚至安装了ssh守护程序......但是它更少知识比把头脑包裹起来。

相关问题