我刚开始使用IBM容器。现在,我想将docker exec放到容器中,但我发现这不支持(link)。
基本上,我已将源代码放在容器中,现在想安装它并更新一些配置,例如:更新提供的IP地址。
我可以从已安装的docker容器创建一个图像并将其推送到bluemix,但我仍然需要更改一些配置。
请建议我实现这一目标的替代方法。
答案 0 :(得分:2)
您可以根据需要ssh到IBM Container并更新文件。
要ssh到IBM Container,您必须使用--ssh
选项传递ssh公钥。
按照以下步骤创建ssh公钥/私钥对并运行IBM容器:
1)创建私钥/公钥对
# ssh-keygen -t rsa -f cloud.key
这将创建2个文件:cloud.key
和cloud.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>
答案 1 :(得分:1)
由于卷包含docker run
支持,您可以考虑使用adding a data volume。
这样,您可以从主机修改文件,容器将通过已安装的卷看到修改。