docker - 如何 docker exec 到 IBM bluemix 容器

标签 docker containers ibm-cloud

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

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

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

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

最佳答案

您可以 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) 将公共(public) IP 地址绑定(bind)到 IBM 容器:
# ice ip bind <ip-address> my-container

4) 运行 ssh 命令通过私钥登录 IBM Container
# ssh -i cloud.key root@<ip-address>

关于docker - 如何 docker exec 到 IBM bluemix 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33067447/

相关文章:

docker - 在Bluemix上-处理容器组实例的卷

angular - 从docker ui容器调用到api容器

c++ - 使用没有默认构造函数的类/类型初始化自定义容器

mysql - 多应用作为集群中的 Docker 容器,处理 MySQL 的方法

c++ - 如何将 "<<"与我自己的结构一起使用?

go - 链代码示例中没有可构建的 Go 源文件错误

ruby - Docker:必须将此 bundle 文件使用Bundler 2或更高版本

postgresql - docker | Postgres数据库未初始化,并且未指定 super 用户密码

Selenium 测试在本地有效,但在 Gitlab CI 中无效

ios - Cordova iOS 构建的 Bluemix 推送插件错误