使用Ansible构建时在Dockerfile中设置相对路径

时间:2019-04-02 15:18:43

标签: ansible dockerfile

我正在尝试使用ansible构建一些docker文件,但不清楚将什么用作构建目录。

目录结构

  • build_images.yml
  • 部署
    • app_files / requirements.txt
    • dockerfiles
      • 应用程序/ Dockerfile

我正在按如下方式运行他的build_images.yml文件(它将选择正确的路径)

build_images.yml文件

 ---                                                                                                                                                                                                                                       
 - hosts: localhost
   connection: local

   tasks:
     - name: Build container
        docker_image:
        name: app
        path: deploy/dockerfiles/app
        pull: no
        state: build

但是,我的Dockerfile包含

FROM base_image:latest

COPY ./deploy/app_files/requirements.txt requirements.txt

我尝试了一些目录的变体,但是它总是以“没有这样的文件或目录”的形式出现。

用于Dockerfile中相对路径的适当基本docker构建目录是什么?

1 个答案:

答案 0 :(得分:0)

docker_image documentation提取

  

路径:   与状态“ present”一起使用可生成图像。 包含上下文的目录的路径和用于构建映像的Dockerfile。

     

dockerfile-在2.0中添加:与存在状态一起使用,为构建映像时使用的Dockerfile提供备用名称。

然后我会尝试

- name: Build container
  docker_image:
    name: app
    path: deploy
    dockerfile: dockerfiles/app/Dockerfile
    pull: no
    state: build

在您的Dockerfile中:

FROM base_image:latest

COPY app_files/requirements.txt requirements.txt

请注意,您的原始路径仍然是错误的(指向dockerfiles而不是app_files)。