Eclipse Remote Systems
视图是连接到虚拟机并浏览其文件系统的绝佳工具,目前可以使用以下选项:
首先,我通过运行此命令找出容器IP:
docker inspect <container> | grep IPAddress | cut -d '"' -f 4
获得IP后,我从New Connection
视图启动了Remote Systems
向导,我尝试选择Linux
,SSH only
和FTP only
Hostname
字段我粘贴容器IP,单击完成并且连接似乎已成功创建,现在当我尝试展开它提示用户和密码的Files
节点时,问题是我没有这些信息,用户/通行证是否因容器而异?我怎样才能得到这些信息?
答案 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进行连接。你有两个选择......
使用命令行和docker exec
连接到计算机并浏览其文件系统。没有漂亮的照片,但你不需要很多知识。
以某种方式修改容器以连接到它。你有两个选择......
一个。修改映像以运行SSH守护程序。一种简单的方法是使用phusion / baseimage容器作为父级,并使其生成ssh守护程序和节点服务器。你需要知道很多关于linux系统管理员才能使这个工作(不是很多,但数量很多)。
B中。使用不同的命令(例如ssh -d)启动容器的第二个副本。然后,您可以连接到第二个副本。这有一个缺点,它不会成为你感兴趣的同一个容器,你仍然必须修改图像,因为我怀疑节点图像甚至安装了ssh守护程序......但是它更少知识比把头脑包裹起来。