首页 > 解决方案 > docker-compose:如何将文件从容器映射到卷

问题描述

我正在尝试将文件从一个容器共享到另一个容器。一个重要的细节是(运行的机器)我的 docker 主机没有式访问该文件:它提取一个 git 存储库并且不知道存储库的内部文件组织(除了 docker-compose文件)。因此,标准映射的方法<host-path>:<container-path>不适用;例如,这对我来说是不可能的:How to mount a single file in a volume

下面是docker-compose文件,为了提高可读性而去掉了。说service_1有文件/app/awesome.txt。然后我们想把它挂载到service_2as 中/opt/awesome.txt

# docker-compose.yml

version: '3'

services:

    service_1:
        volumes:
            - shared_vol:/public
            # how to make service_1 map 'awesome.txt' into /public ?

    service_2:
        volumes:
            - shared_vol/awesome.txt:/opt/awesome.txt

volumes:
    shared_vol:

我有但不喜欢的可行解决方案,

非常感谢任何帮助、提示或指导!

标签: docker-composedocker-volume

解决方案


你能做这样的事吗

version: '3.5'

volumes:
   xxx:

services:

   service_1:
      ...
      volumes:
         - xxx:/app

   service_2:
      ...
      volumes:
         - xxx:/opt

推荐阅读