我使用 jib 插件来创建镜像,而 docker-compose 需要 Dockerfile。我如何将 jib 已经制作的图像链接到我的 docker-compose 以便它可以在进程中构建我的后端?
最佳答案
gradle jibDockerBuild && docker-compose up
是一个合理的解决方法。您只需要在 image:
的 build:
属性(而不是 docker-compose.yml
)中设置正确的图像名称。当您的应用程序没有更改时, jibDockerBuild
命令将几乎没有操作(除非将图像推送到您的 Docker 守护程序所需的时间)。当您进行更改时,Jib 将构建一个新图像,docker-compose
将使用它。当然,如果您不必通过 Jib 重建镜像,仅 docker-compose up
就足够了,它只会使用您的 Docker 守护进程缓存中的当前镜像。
另一种选择:如果您的图像很大并且您有不错的网络带宽,则使用 gradle jib && docker pull <your image> && docker-compose up
插入和拉出注册表(无论是本地还是远程)可能会更快。 (这是因为与 Docker Registry API 相比,Docker Engine API 的功能有限;Jib 必须使用 jibDockerBuild
将整个图像流式传输到 Docker 守护进程。
关于angular - 如何在使用 jib 时创建 docker-compose.yml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60862687/