我刚刚开始使用IBM容器。现在,我想将docker exec添加到容器,但是我发现不支持(link)。如何将docker exec移植到IBM Bluemix容器上
基本上,我把我的源代码放在容器中,现在想安装它并更新一些配置,例如:更新提供的IP地址。
我可以从安装的docker容器创建一个映像,并将其推送到bluemix,但仍然需要更改一些配置。
请给我建议实现此目的的替代方法。
我刚刚开始使用IBM容器。现在,我想将docker exec添加到容器,但是我发现不支持(link)。如何将docker exec移植到IBM Bluemix容器上
基本上,我把我的源代码放在容器中,现在想安装它并更新一些配置,例如:更新提供的IP地址。
我可以从安装的docker容器创建一个映像,并将其推送到bluemix,但仍然需要更改一些配置。
请给我建议实现此目的的替代方法。
您可以根据需要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 [email protected]" registry.ng.bluemix.net/ibmnode:latest
3)绑定一个公网IP地址,IBM容器:
# ice ip bind <ip-address> my-container
4)运行ssh命令登录到IBM集装箱通过私钥
# ssh -i cloud.key [email protected]<ip-address>
我们是否有类似的cf命令选项?我不确定,因为我没有看到docker的[run](https://docs.docker.com/reference/commandline/run/)引用中的--ssh选项。 – user3275095
我查了文档,我想我们没有他们的cf.我会尝试冰块。 – user3275095
是的,你必须使用冰命令ssh。 –
由于支持docker run
(包含在卷中),因此可以考虑使用adding a data volume。
这样,您可以从主机修改文件,并且容器将通过安装的卷看到修改。
使用卷我可以更新配置,但如何重新启动容器的服务?或者我将不得不重新启动容器? – user3275095
您要么重新启动容器,要么由容器运行的服务将具有监视该配置文件并重新启动的必要知识。 – VonC
服务不是那么聪明:)。那么我必须重新启动容器。 我可以进入容器吗? – user3275095
亲爱downvoter,我将不胜感激,如果你可以给一些意见。 – user3275095