我想在一臺機器上使用Ansible的docker_image模塊建立一堆碼頭。建築碼頭與Ansible docker_image
我構建了1個「基礎」泊塢窗圖像,它用作所有後續泊塢窗圖像中的FROM圖像。這工作時手動發出構建命令爲:
sudo docker build -t base .
sudo docker build -t postgres .
但是當我嘗試做的Ansible模塊相同的第二圖像(和使用「基地」像所有後續圖像)失敗,出現以下錯誤:
TASK: [Docker | Build postgres] ************************************
failed: [192.168.1.120] => {"changed": true, "failed": true, "image_id": null}
msg: Error: Error: image base:latest not found
Log:Step 0 : FROM base
FATAL: all hosts have already failed -- aborting
在我的劇本中的條目是:
- name: Docker | Build base
docker_image: path="/home/xx/data/dockers/base/" name="base" state=present
- name: Docker | Build postgres
docker_image: path="/home/xx/data/dockers/postgresql/" name="postgres" state=present
當它失敗了「基地」在計算機上存在的圖像,我可以通過檢查驗證。後續圖像(在本例中爲postgres)在進行手動構建時也可以毫無失敗地構建。
從Dockerfiles有關摘要:
基地Dockerfile:
FROM ubuntu
MAINTAINER me
RUN apt-get update
RUN apt-get install -y \
software-properties-common \
wget \
git \
unzip \
nano \
vim-tiny
CMD bash
的Postgres Dockerfile:
FROM base
MAINTAINER me
RUN groupadd -r postgres && useradd -r -g postgres postgres
...
所以Ansible鬥爭使用另一種圖像構建一個圖像作爲基礎圖像。我確定這個問題不在Dockerfiles中,因爲我可以手動構建這些圖像。我只是試圖用Ansible自動化構建,這就給了我這個問題。
有什麼建議嗎?