如何 docker 执行到 IBM bluemix 容器
How to docker exec to IBM bluemix containers
我刚刚开始使用 IBM 容器。现在,我想 docker 执行容器,但我发现这不受支持 (link)。
基本上,我已经将我的源代码放在容器中,现在想安装它并更新一些配置,例如:更新提供的 ip 地址。
我可以从已安装的 docker 容器创建一个映像并将其推送到 bluemix,但我仍然需要更改一些配置。
请建议我实现此目标的替代方法。
自 docker run
is supported, included with volumes, you could consider adding a data volume.
这样,您可以从主机修改文件,容器将通过挂载的卷看到修改。
您可以通过 SSH 连接到 IBM Container 并根据需要更新文件。
要通过 ssh 连接到 IBM Container,您必须使用 --ssh
选项传递 ssh public 密钥。
按照以下步骤创建 ssh public/private 密钥对和 运行 IBM 容器:
1) 创建一个 private/public 密钥对
# ssh-keygen -t rsa -f cloud.key
这将创建 2 个文件:cloud.key
和 cloud.key.pub
2) 运行 传递 public 密钥的 IBM 容器,下面的示例 运行s 默认的 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 地址绑定到 IBM 容器:
# ice ip bind <ip-address> my-container
4) 运行 通过私钥登录 IBM Container 的 ssh 命令
# ssh -i cloud.key root@<ip-address>
我刚刚开始使用 IBM 容器。现在,我想 docker 执行容器,但我发现这不受支持 (link)。
基本上,我已经将我的源代码放在容器中,现在想安装它并更新一些配置,例如:更新提供的 ip 地址。
我可以从已安装的 docker 容器创建一个映像并将其推送到 bluemix,但我仍然需要更改一些配置。
请建议我实现此目标的替代方法。
自 docker run
is supported, included with volumes, you could consider adding a data volume.
这样,您可以从主机修改文件,容器将通过挂载的卷看到修改。
您可以通过 SSH 连接到 IBM Container 并根据需要更新文件。
要通过 ssh 连接到 IBM Container,您必须使用 --ssh
选项传递 ssh public 密钥。
按照以下步骤创建 ssh public/private 密钥对和 运行 IBM 容器:
1) 创建一个 private/public 密钥对
# ssh-keygen -t rsa -f cloud.key
这将创建 2 个文件:cloud.key
和 cloud.key.pub
2) 运行 传递 public 密钥的 IBM 容器,下面的示例 运行s 默认的 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 地址绑定到 IBM 容器:
# ice ip bind <ip-address> my-container
4) 运行 通过私钥登录 IBM Container 的 ssh 命令
# ssh -i cloud.key root@<ip-address>