【发布时间】:2015-06-15 09:30:18
【问题描述】:
我无法连接到已创建的容器。这是 Dockerfile
FROM registry-ice.ng.bluemix.net/ibmnode:latest
COPY id_rsa.pub /root/.ssh/
RUN cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install git && mkdir /vApp
COPY . vApp
RUN cd vApp && npm install -d --production
EXPOSE 3000 22
CMD ["node", "vApp/app.js"]
这是ice ps的输出:
Container Id Name Group Image Created State Private IP Public IP Ports
bbf72b72-6377-4c53-afdf-a133eed1872c toto May 28 17:31 Running 172.31.0.9 129.41.226.101 [3000, 22]
但无法通过 SSH 连接到容器。 我可以 ping 容器,但是 22 端口的连接被拒绝。
谢谢
【问题讨论】:
-
我认为这可能是因为我在 FROM 中使用的 ibmnode:latest 映像未准备好 SSH。 ibmliberty:latest 已准备好 SSH,如 Bluemix 控制台中的 Containers 文档中所述,但 ibmnode 也可以吗?
-
如果你只是想进入容器
docker exec -it bbf7 bash或者类似的命令会在容器内获得一个shell,请参阅文档docs.docker.com/reference/commandline/cli/#exec -
不是我想要达到的目标。我有一个外部服务器,它需要连接到端口 22,以便在容器运行时在容器上做一些事情。
-
此外,我认为 docker exec 不能与在 Bluemix 中运行的容器一起工作。是吗?
-
如果它是一个 docker 容器,它应该总是可以使用
docker exec连接内部。我在registry.hub.docker.com/search?q=bluemix&searchfield= 查看了各种bluemix 容器,我发现没有任何东西可以阻止使用docker exec,当您在容器中时,检查端口22,如果安装了SSH,如果没有安装它
标签: ssh docker containers ibm-cloud