0

我正在使用 IBM Bluemix 和 Docker。

[我的目标]我想创建一个容器。我从网站上发现我们可以使用 SSH 以“root”用户身份登录。所以我想我也可以在这个容器上安装 maven 和 MySQL。尽管 IBM Container 是基于 Docker 的文件系统,但我们可以将容器视为 Linux 虚拟机(如有错误请纠正我)。

我在这里发现了一个类似的问题,其中 njleviere 说端口 22 已关闭。如何确定端口是打开还是关闭?如果它关闭了,我该如何打开它?另外,我认为端口 22 在我的情况下实际上是开放的。

【问题描述】我主要关注这个网站,但是我用的是Ubuntu和SSH,而不是Putty。

首先,我使用ssh-keygen. 对于文件名,我尝试了“cloud”和“cloud.key”。两者都失败了。所以我认为密钥的名称无关紧要(如果错了请纠正我)。

我打开.pub钥匙。"yu@yu-VirtualBox"密钥文件末尾有一个标签。我不确定是否应该包含此标签。所以我尝试了几件事:

  1. ssh-rsa KeyString yu@yu-VirtualBox
  2. ssh-rsa KeyString
  3. KeyString

都失败了。

然后我创建了容器。我选择"ibmliberty". 鉴于我之前创建的公共 IP(已经与任何容器解除绑定),我将 22 添加到公共端口。并将其粘贴"cloud.pub"到 SSH 密钥。几分钟后,容器开始运行。以下两个链接是 Bluemix 控制台在创建容器时的屏幕截图。

然后我可以在浏览器中看到端口 9080 的默认页面https://169.44.124.121:9080。它说“欢迎使用 Liberty”和“WebSphere Application Server V8.5.5.9”。

然后我输入(cloud 和 cloud.pub 是关键文件)

ssh -i 云根@169.44.124.121

然后我得到

ssh:连接到主机 169.44.124.121 端口 22:连接被拒绝

我曾经cf ic ps检查过端口。看起来不错。我169.44.124.121:22->22/tcp在PORTS下看到了。

另外,我看到许多程序员使用 docker 文件来启动 IBM Container。我应该切换到 docker 文件而不是这个 IBM 控制台 Web 界面吗?

4

1 回答 1

0

bluemix 上的默认 ibm-liberty 映像不包括 sshd。您可以添加它 - 您需要将 supervisord、sshd 和适当的配置添加到您的 Dockerfile 中。

相反,如果您真正想要的只是到容器的安全命令行连接,则可以使用cf ic exec或 docker exec。(例如cf ic exec -ti mycontainername bash)这将为您提供一个命令行,而不会产生正在运行的 sshd 的开销(和安全风险)。

于 2016-09-20T18:55:52.323 回答