gpt4 book ai didi

docker - Docker:将文件夹复制到多个图像

转载 作者:行者123 更新时间:2023-12-02 20:03:54 25 4
gpt4 key购买 nike

例如,我有项目的下一个结构:

.
├── docker-compose.yml
├── library
└── _services
└──_service1
| └── Dockerfile
├──_service2
| └── Dockerfile
└──_service3
└── Dockerfile

如何将 library复制到每个服务中?还是存在一种使用 library包创建服务镜像的更好方法?

最佳答案

您无法复制Dockerfile所在父目录中的文件。

当然,您不想将库内容复制到每个服务目录中,但是可以。

  • 在顶层为每个服务创建一个不同的Dockerfile。
    例如:

    docker-compose.yml
    图书馆
    Dockerfile.service1
    Dockerfile.service2
    Dockerfile.service3

  • 然后每个dockerfile都可以在其中 COPY该库。
  • 如果您的库是服务的基本组成部分,则只需为其创建一个镜像并将其作为服务的基础镜像。

  • 例如:
    基础
    图书馆
    Docker文件
    服务
    Dockerfile.service1
    Dockerfile.service2
    Dockerfile.service3

    使用Dockerfile
    FROM alpine:3.7
    COPY library/...

    docker build -t base。

    和一个Dockerfile.serviceN
      FROM base

    通常,我发现最好不要在docker compose中包括构建Dockerfile。您可以在需要时构建服务,将其推送到镜像存储库(例如:quay.io,docker.io),然后docker compose文件在部署时将其拉入。

    关于docker - Docker:将文件夹复制到多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51475303/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com