ice --cloud ps命令不会在Building状态下显示Bluemix容器

时间:2015-09-18 19:58:39

标签: containers ibm-cloud

我想将代码更新为Bluemix容器。如下所示,ice --cloud ps命令显示容器处于Running状态而不是Building状态。

为了这篇文章,我将ice --cloud ps命令的结果放在多行上。

$ ice --cloud ps 
Container Id           Name          Group    Image   Created          
1a234bc5-def6-7g       xyzContainer                   Aug 31 12:00   

State       Private IP        Public IP           
Running     111.111.1.1       222.222.2.2    

Ports
['80/tcp', '443/tcp', '1883/tcp', '4883/tcp', '8080/tcp'

我运行了以下命令来构建,标记和推送:

 ice --cloud build -t myImage .
 ice –-local tag myImage registry.ng.bluemix.net/myContainer/myImage
 ice –-local push registry.ng.bluemix.net/myContainer/myImage

在这种情况下,我不想更改公共IP地址/设置,我想避免每次更改时删除/创建容器。我想用最新版本更新容器。如何在旧容器上运行新图像?

1 个答案:

答案 0 :(得分:2)

您需要重新启动正在运行的容器。按下新图像时不会自动触发重启。

您可以启动新容器,将现有IP地址重新绑定到新容器,等待更改发生,然后取下旧容器。 如果您在Bluemix部署程序中使用IBM Containers,则可以为您完成此过程。

注意:IP重新绑定过程可能需要花费尽可能多的时间来使IP地址首次获得连接。

如果您要手动部署,请根据问题中的示例完成以下步骤:

  1. 让旧容器保持运行并启动新容器。
  2. 运行以下命令:ice ip unbind 222.222.2.2 1a234bc5-def6-7g
  3. 从旧容器中删除地址。
  4. 运行以下命令绑定到新容器ice ip bind 222.222.2.2 abcd12345-123-123(其中“abcd12345-123-123”是新容器的ID。)注意:如果您通过用户界面并在新容器上创建IP,您需要先取消绑定。
  5. 等待路由调整到新容器。
  6. 当您确信过程成功时,请取下旧容器。