我一直在试图让我可以部署我的集装箱,我已经成功地使用了以下配置,但是我遇到的问题是它不会启动我的最新版本容器。部署最新的码头集装箱
- name: Deploy
hosts: staging
tasks:
- name: Install docker-py
pip: name=docker-py
- name: Pull latest container
raw: docker pull org/proj:latest
- name: Stop container
docker:
image="org/proj:latest"
name=proj-rails
state=stopped
- name: Deploy container
docker:
image="org/proj:latest"
name=proj-rails
ports=80:80
state=running
我可以构建并将新容器推送到码头集线器并尝试将其拉下。在docker images
列出了最新的容器服务器:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
org/proj latest 9f0de94df28c 2 hours ago 675.5 MB
<none> <none> 15f4bbbeebca 2 days ago 670.6 MB
<none> <none> f7958247ed52 2 days ago 670.3 MB
我的问题是ansible保持开始15f4bbbeebca(这不是最新的容器)。任何人都可以帮我弄清楚什么是错的?
我认为问题是与名称属性。 name属性设置容器的当前名称。通常这个名字是随机分配的 _ <科学家姓名>。我认为在启动容器时重复使用相同的名称会产生与图像ID绑定的不良副作用。通过不指定name属性,我能够使用最新的标签启动容器。 这个观察结果可能会回答我原来的问题,但它最终导致了更多的问题,因为我无法通过名称来寻址容器,因为我多次在一个盒子上部署同一个容器。 –
2014-11-03 07:27:06