如何从多个Dockerfile中的共享目录中复制文件?

fro*_*o39 3 docker dockerfile docker-compose

在我的应用程序中,我有5个docker容器,每个容器都从Dockerfile构建的映像开始.以下是结构:

-projectdir
  -docker
    -application1
      -Dockerfile
      -script.sh
    -application2
      -Dockerfile
      -script.sh
    -application3
      -Dockerfile
    -application4
      -Dockerfile
      -script.sh
    -application5
      -Dockerfile
Run Code Online (Sandbox Code Playgroud)

script.sh被复制到应用程序1,2和4中的Dockerfile中.问题是我必须在每个应用程序目录中放置相同的script.sh. 有没有办法使用包含单个script.sh的共享文件夹并从中复制?我正在使用docker-compose来构建和运行容器.

Von*_*onC 5

你可以定义一个致力于让您的脚本在容器容积(作为数据量的容器)

scripts:
  volumes:
    - /path/to/scripts
application1:
  volumes_from:
    - scripts
application2:
  volumes_from:
    - scripts
Run Code Online (Sandbox Code Playgroud)

/path/to/scripts文件夹将在每个应用程序中共享.
scriptsDockerfile应创建/path/to/scripts并复制script.sh它.