如何使用docker_image模块标记本地docker镜像?
我正在构build一个本地docker镜像,我想标记它,但我不知道如何为我刚刚在本地创build的Docker镜像填充repository
字段。
用docker_image
模块甚至可以标记本地图像?
您可以在一个命令中构build和标记。 如果您希望保持本地化,则不能在名称中包含存储库(no /
)。 标签只是“最新”的等价物。 所以结果如下所示:
- name: 'Build an image with a tag' docker_image: path: . name: ansible-module tag: v1 state: present
结果将如下所示:
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ansible-module v1 39be0dcc8dfa 2 minutes ago 1.093 MB
如果你想包含你的registryurl或版本库名(docker hub login),并且不想在构build完成后自动推送,我不相信你可以使用这个Ansible插件。
更新一个额外的标签,你可以这样做:
- name: 'Build an image' docker_image: path: . name: ansible-module tag: v1 state: present register: docker_build - name: 'Retag image' shell: docker tag ansible-module:v1 ansible-module:dev when: docker_build.changed
我能够发现docker_image
模块的repository
只是在本地构build时的映像名称。
这是你如何首先build立图片与标签latest
,然后添加一个标签。
- name: Build docker image become: yes docker_image: path: /tmp/foo name: foo state: present - name: Tag docker image become: yes docker_image: name: foo repository: foo tag: "{{ version.stdout }}" state: present