我有一个包含2个Dockerfile的项目;
但是在本地计算机中,我创建了一个docker-compose.yml
文件,该文件将在相应的文件夹中构建相应的Dockerfile并按规定的顺序运行
当前结构
.
+-- api
| +-- Dockerfile
| +-- ...
+-- frontend
| +-- Dockerfile
| +-- ...
+-- docker-compose.yml
因此,在本地,堆栈是通过docker-compose up
启动的。
我现在正计划将整个堆栈放入一个私有注册表中。
获取图像的最佳方法是什么(简化开发人员和CI / CD例程的工作?
Dockerfile
图像可以单独推送并拉入新服务器吗?或或者让我们知道最有效的部署方法
谢谢!
答案 0 :(得分:1)
要推送由您的构图生成的多个图像,可以使用docker-compose push
命令。请记住,撰写中的图像名称应采用适当的格式。您的docker compose可能如下所示:
version: '3'
services:
sv1:
build: .
image: localhost:4000/imgename:tag # for local registry
sv2:
build: .
image: hubusername/imagename:tag # for DockerHub registry
使用此命令可以一次推送所有图像,但是也可以指定要推送其图像的服务名称。然后,您可以从存储库中分别下载这些图像。