Docker编写:如何在构建时指定docker文件的路径,就像在不同的目录中一样?

idv4meu8  于 2023-04-11  发布在  Docker
关注(0)|答案(4)|浏览(187)

docker build -t test2 -f tests/low_conviction_integration/Dockerfile .
如果我需要从我的Dockerfile上的目录复制文件,我可以通过调用
docker build -t image_name -f path_to_docker_file/Dockerfile .
从ABOVE目录
我怎样才能用docker-compose完成相同的行为?我希望docker-compose与Dockerfile存在于同一个目录中,用Dockerfile构建,但最终调用它时就像它在ABOVE目录中一样,这样我就可以复制正确的文件。我试过了
docker-compose -f path_to_docker_file_and_compose/docker-compose.yml up
从ABOVE目录,但当从Dockefile构建时,它会抱怨ABOVE目录中的文件在构建时不存在(这意味着它正在从与Dockerfile相同的目录运行Docker构建。我需要它从ABOVE目录运行构建)。

wixjitnu

wixjitnu1#

这可以像这样完成,在docker-compose.yml中添加build并从ABOVE目录运行构建:

version: '3.8'

services:
  your_service:
    build: # "context" and "dockerfile" fields have to be under "build"
      context: .
      dockerfile: <Below_Directory>/Dockerfile
vfhzx4xs

vfhzx4xs2#

您可能需要使用-p标志

Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE             Specify an alternate compose file (default: docker-compose.yml)
  -p, --project-name NAME     Specify an alternate project name (default: directory name)
nzk0hqpo

nzk0hqpo3#

你可以在上下文中添加你的子目录。假设你有一个docker文件在子目录docker中,上下文应该像下面这样。

version: '3'

services:

  php:
    build:
      context: ./docker
      dockerfile: ./php.dockerfile
uz75evzq

uz75evzq4#

services:
  service-name:
    build:
      context: ../app
      dockerfile: ../docker/Dockerfile

相关问题