如何将docker exec移植到IBM Bluemix容器

我刚刚开始使用IBM容器。 现在,我想要docker exec到容器,但是我发现这不被支持( 链接 )。

基本上,我把我的源代码放在容器中,现在想要安装它并更新一些configuration,例如:更新提供的IP地址。

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

请build议我采取其他方法来实现这一点。

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

1)创build一个私钥/公钥对

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

这将创build2个文件: 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命令login到IBM Container传递私钥

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

由于支持docker run (包含在卷中),因此可以考虑添加数据卷 。

这样,您可以从主机修改文件,容器将通过安装的卷看到修改。