首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用docker和ansible拉取私有镜像标签

无法使用docker和ansible拉取私有镜像标签
EN

Stack Overflow用户
提问于 2016-08-18 18:25:28
回答 1查看 320关注 0票数 0

我正在使用ansible 2.0在远程机器上管理来自hub.docker.com的docker镜像。

我在集线器上有一个带有不同标签的私有映像,我想将其部署到我的机器上,但3个标签中只有1个有效。

以下是我的ansible conf的相关信息:

tasks.yml:

代码语言:javascript
复制
- name: pull local images
  docker:
    image: "{{ item.image }}:{{ item.tag }}"
    pull: always
  with_items: "{{ docker_image_list }}"
  register: docker_pull_result

项目示例:

代码语言:javascript
复制
docker_image1:
  image: 'mynamespace/myimage'
  tag: mytag

结果:

代码语言:javascript
复制
failed: [myhost] (item={u'image': u'mynamespace/myimage', u'tag': u'mytag'}) => {"failed": true, "item": {"image": "mynamespace/myimage", "local": "localhost:5000/mytag", "tag": "mytag"}, "module_stderr": "", "module_stdout": "Traceback (most recent call last):\r\n  File \"/home/myuser/.ansible/tmp/ansible-tmp-1471514200.43-222544910756770/docker\", line 3752, in <module>\r\n    main()\r\n  File \"/home/myuser/.ansible/tmp/ansible-tmp-1471514200.43-222544910756770/docker\", line 1744, in main\r\n    stopped(manager, containers, count, name)\r\n  File \"/home/myuser/.ansible/tmp/ansible-tmp-1471514200.43-222544910756770/docker\", line 1623, in stopped\r\n    containers.refresh()\r\n  File \"/home/myuser/.ansible/tmp/ansible-tmp-1471514200.43-222544910756770/docker\", line 1531, in refresh\r\n    self.deployed = self.manager.get_deployed_containers()\r\n  File \"/home/myuser/.ansible/tmp/ansible-tmp-1471514200.43-222544910756770/docker\", line 1347, in get_deployed_containers\r\n    repo_tags = self.get_image_repo_tags()\r\n  File \"/home/myuser/.ansible/tmp/ansible-tmp-1471514200.43-222544910756770/docker\", line 1010, in get_image_repo_tags\r\n    if resource in image.get('RepoTags', []):\r\nTypeError: argument of type 'NoneType' is not iterable\r\n", "msg": "MODULE FAILURE", "parsed": false}

我不明白它为什么失败,以及我如何解决这个问题,有人能帮助我吗?

Thx

EN

回答 1

Stack Overflow用户

发布于 2016-08-18 18:46:41

任务失败,因为docker模块不支持在tags参数中引用图像。

Ansible 2.2开始,docker module已弃用。

我建议你更新你的Ansible版本,使用推荐的docker_imagedocker_container,它们都支持使用name:tag来引用tags

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39015776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档