例如,我有项目的下一个结构:
.
├── 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
进入该库。
例如:基础库Dockerfile服务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文件在部署时将其拉入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句