Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ansible中编写任务,以便它们执行与docker build和docker run相同的操作_Docker_Ansible - Fatal编程技术网

如何在ansible中编写任务,以便它们执行与docker build和docker run相同的操作

如何在ansible中编写任务,以便它们执行与docker build和docker run相同的操作,docker,ansible,Docker,Ansible,我搜索了论坛,但什么也没找到。戳你的手指(如果有) 如何在ansible中编写任务,使其执行与以下任务相同的操作: docker build. -t alpine: volume docker run --rm -ti -v colibri:/colibri alpine: volume 这将为我创建一个docker映像并连接卷,以便文件在那里同步。 我的Dockerfile如下所示: FROM alpine:3.12 RUN apk add unzip && \ a

我搜索了论坛,但什么也没找到。戳你的手指(如果有) 如何在ansible中编写任务,使其执行与以下任务相同的操作:

docker build. -t alpine: volume
docker run --rm -ti -v colibri:/colibri alpine: volume
这将为我创建一个docker映像并连接卷,以便文件在那里同步。 我的Dockerfile如下所示:

FROM alpine:3.12

RUN apk add unzip && \
    addgroup -S -g 9999 www && \
    adduser -u 9999 -S -G www www && \
    mkdir /colibri && chown www:www /colibri

COPY artifact.zip /colibri/artifact.zip
USER www
WORKDIR colibri
RUN unzip artifact.zip && rm artifact.zip
ansible中的任务:

- name: Build image
  community.docker.docker_image:
    build:
      path: "{{ remote_path }}/docker/volume"
    name: volume
    tag: v1
    push: no
    source: build
    
  - name: Build an volume on artefact
  community.docker.docker_container:
    name: volume:v1
    state: present
    volumes:
      - colibri:/colibri
    cleanup: yes


   

我会自己回答我的问题。通过测试和错误,我得到了这个结果

- name: Build an image
  community.docker.docker_image:
    build:
      path: "{{ remote_path }}/docker/volume"
    name: volume
    tag: v1
    source: build

- name: Build an artefact on volume
  community.docker.docker_container:
    name: volume
    image: volume:v1
    state: started
    timeout: 300
    volumes:
      - colibri_magento:/colibri
    auto_remove: yes
    cleanup: yes