如何在ansible中编写任务,以便它们执行与docker build和docker run相同的操作
我搜索了论坛,但什么也没找到。戳你的手指(如果有) 如何在ansible中编写任务,使其执行与以下任务相同的操作:如何在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
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