使用Ansible Playbook构建Docker镜像(使用多目标Dockerfile)

4

有没有任何选项可以实现Docker命令(--target参数)?

docker build --target backend -t project/backend:latest

在Ansible Playbook中使用docker_image模块?目前在Playbook中:
- hosts: localhost
  tasks:
    - name: Build backend image
      docker_image:
        path: /var/lib/workspace/project/backend
        name: project/backend:latest

你可以修补docker_image - Konstantin Suvorov
2个回答

2

这对我有效。

---
- name: Copy Dockerfile
  copy: src=Dockerfile dest=/tmp/path/
- name: Build osquery image
    docker_image:
      path: /tmp/path/
      name: imagename
      tag: v1

我不太明白这个例子中--target是如何使用的。@sudheerchamarthi,你能详细解释一下吗? - Gemmu

0

在当前版本的Ansible中,可以使用docker_image来定义目标。

Ansible文档-community.docker.docker_image

我认为这对你有用。

- hosts: localhost
  tasks:
    - name: Build backend image
      docker_image:
        path: /var/lib/workspace/project/backend
        name: project/backend:latest
        target: backend

当Dockerfile类似于以下内容时

FROM for-example-php-image AS baseimage 
# Common things

FROM baseimage AS backend
# Things needed only in backend

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接