Docker-将多个图像发送到注册表

时间:2019-06-29 19:46:00

标签: docker docker-compose dockerfile continuous-deployment docker-registry

我有一个包含2个Dockerfile的项目;
但是在本地计算机中,我创建了一个docker-compose.yml文件,该文件将在相应的文件夹中构建相应的Dockerfile并按规定的顺序运行

当前结构

.
+-- api
|   +-- Dockerfile
|   +-- ...
+-- frontend
|   +-- Dockerfile
|   +-- ...
+-- docker-compose.yml

因此,在本地,堆栈是通过docker-compose up启动的。
我现在正计划将整个堆栈放入一个私有注册表中。

获取图像的最佳方法是什么(简化开发人员和CI / CD例程的工作?

  1. 每个Dockerfile图像可以单独推送并拉入新服务器吗?或
  2. 有没有办法将不同的图像组合成一个图像并使用?

或者让我们知道最有效的部署方法

谢谢!

1 个答案:

答案 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

使用此命令可以一次推送所有图像,但是也可以指定要推送其图像的服务名称。然后,您可以从存储库中分别下载这些图像。