docker-compose的context或workdir

时间:2016-10-25 20:12:58

标签: docker docker-compose

我正在学习码头工具

我需要为docker镜像指定工作目录,我想这将是这样的:

version: '2'
services:
  test:
    build:
      context: ./dir

现在我想让图片python:onbuild./dir上投放,但我不想在Dockerfile内创建任何./dir

docker-compose手册没有说明这一点。

有可能吗?怎么做?

4 个答案:

答案 0 :(得分:67)

我认为您正在寻找working_dir。搜索" working_dir"在docker-compose reference

答案 1 :(得分:3)

build configuration in Docker Compose最终只会调用docker build,因此您需要使用Dockerfile来使用该工作流程。

正如docs for python:onbuild所说,你可以从一个只包含FROM python:onbuild的最小Dockerfile开始。但正如他们所说,:onbuild不是一个很好的选择,你可以更多地控制你自己的Dockerfile FROM python

答案 2 :(得分:0)

您可以如下指定工作目录。

version: '2'
  services:
    test:
  build:
    context: ./dir
  working_dir: /dir

答案 3 :(得分:0)

可能不完全是您要查找的内容,但是您可以将Docker构建的“上下文”指定为与实际Dockerfile所在的目录不同的目录。

build:
  context: ./folder/containing/files
  dockerfile: path/to/dockerfile/relative/to/context/Dockerfile

无论Dockerfile实际在哪里,您Dockerfile中的任何ADD / COPY命令都像它们相对于context一样起作用。