docker Dock合成的上下文或工作目录

jdzmm42g  于 2022-12-11  发布在  Docker
关注(0)|答案(4)|浏览(147)

我在学 Docker
我需要为一个Docker映像指定工作目录,我想应该是这样的:

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

现在我想让映像python:onbuild./dir上运行,但我不想在./dir内创建任何Dockerfile
docker-compose手册对此只字未提。
可能吗?怎么做?

6mzjoqzu

6mzjoqzu1#

我想你要找的是working_dir。在docker-compose引用中搜索“working_dir”。

um6iljoc

um6iljoc2#

可以按如下方式指定工作目录。

version: '2'
services:
  test:
    build:
      context:    /path/to/source/dir/
      dockerfile: /path/to/custom-Dockerfile/relative/tocontextdir/Dockerfile
    working_dir: /app
yc0p9oo0

yc0p9oo03#

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

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

然后,无论Dockerfile实际位于何处,您的Dockerfile中的任何ADD/COPY命令都将以相对于context的方式运行。

yx2lnoni

yx2lnoni4#

Docker Compose中的构建配置只是在对docker build的调用中结束,因此您需要有一个Dockerfile来使用该工作流。
正如docs for python:onbuild所说,你可以从一个只包含FROM python:onbuild的最小Dockerfile开始。但是正如他们所说,:onbuild不是一个很好的选择,你将有更多的控制权来构建你自己的Dockerfile FROM python

相关问题