【问题标题】:How to docker exec to IBM bluemix containers如何 docker exec 到 IBM bluemix 容器
【发布时间】:2015-10-11 16:36:59
【问题描述】:

我刚刚开始使用 IBM 容器。现在,我想 docker exec 到容器,但我发现这不受支持 (link)。

基本上,我已经将我的源代码放在容器中,现在想安装它并更新一些配置,例如:更新提供的 ip 地址。

我可以从已安装的 docker 容器创建一个映像并将其推送到 bluemix,但我仍然需要更改一些配置。

请建议我实现这一目标的替代方法。

【问题讨论】:

  • 亲爱的投票者,如果您能提供一些 cmets,我将不胜感激。

标签: docker containers ibm-cloud


【解决方案1】:

您可以 ssh 到 IBM Container 并根据需要更新文件。 要 ssh 到 IBM Container,您必须使用 --ssh 选项传递 ssh 公钥。 按照以下步骤创建 ssh 公钥/私钥对并运行 IBM 容器:

1) 创建私钥/公钥对

# ssh-keygen -t rsa -f cloud.key

这将创建 2 个文件:cloud.keycloud.key.pub

2) 通过公钥运行 IBM 容器,下面的示例运行默认的 ibmnode 映像(执行 cat cloud.key.pub 并粘贴为 ssh 参数):

# ice run --name my-container --memory 512 --publish 8000 --ssh "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrpMSm1U0YCvCfFZDOSqKDNZT0fd9TOWQh/jZPFWJu3BTrZuxDM0Mc5Cv6Lw0yYC5ZdqFsn4Rp4ovCkEY3JsnrE6NSsyrtxMvCGm1FDWYMJBnB4tDoWFmAULYKvdospozjk9Abvl2Hw3xu36j2c3W/x4iB/Xez0xdqNi8YN23gg8n45ZDCsDVZ4SE2ks8u81CoDcDhA3XmJF5Fpfwfnxi7OI9LNTkNJ26CnQb0/k80gYc1qUcGjgPasbWHPuPY4YJDAAr5U6faZUX8IqepLmk/icIQw+SFBQa4OS5+n4jJ3YpkM23RZdylY61t9ltU8GJI/d5tRsV7ZYeX+gE/RO53 xxxxx@xxx.yyy.com" registry.ng.bluemix.net/ibmnode:latest

3) 将公共 IP 地址绑定到 IBM 容器:

# ice ip bind <ip-address> my-container

4) 运行 ssh 命令通过私钥登录 IBM Container

# ssh -i cloud.key root@<ip-address>

【讨论】:

  • cf 命令有类似的选项吗?我不确定,因为我在 docker 的 run 参考中没有看到 --ssh 选项。
  • 我检查了文档,我认为我们没有它们用于 cf。我会试试冰。
  • 比我的更准确的答案。 +1
  • 我可以通过 ssh 进入容器 :)。谢谢。 @VonC:当你批准这个时,我接受这个作为答案:)。
【解决方案2】:

由于支持docker run,包含在卷中,您可以考虑adding a data volume

这样,你可以从主机修改文件,容器会通过挂载的卷看到修改。

【讨论】:

  • 使用卷我可以更新配置,但是如何使用容器重新启动服务?还是我必须重新启动容器?
  • 您可以重新启动容器,或者由容器运行的服务将具备必要的知识来监控该配置文件并自行重新启动。
  • 服务没那么智能:)。我将不得不重新启动容器。我可以通过 ssh 进入容器吗?
  • @user3275​​095 不要忘记重启容器并不意味着连接到它。在正在运行的容器中执行命令是使用docker exec 完成的(docs.docker.com/reference/commandline/exec,不需要 ssh,这就是重点)。但是重启所有容器意味着docker stop/kill,然后是docker rm,然后是docker run
  • 我同意 exec 的观点,但在 exec 不可用时将 ssh 作为一个选项。无论如何,我会探索这些卷。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
相关资源
最近更新 更多