如何在 docker-compose.yml 中通过远程映像传递构建参数?

kck*_*st8 5 docker docker-compose

我想从私人注册表中提取远程映像。图像的 dockerfile 包含一些参数,其值将通过 docker-compose.yml 填充。例如:

version: '3.0'

services:
    api:
        image: remoteApiImage
    web:
        image: remoteWebImage
        build: 
            args:
                baseurl: http://remoteApiImage:80
Run Code Online (Sandbox Code Playgroud)

目前,这不起作用,因为构建需要上下文。但是,如果我设置上下文,它需要一个本地 Dockerfile。即使设置为 . 没有本地 Dockerfile 将拉取远程映像,但构建参数未正确传递。

这可能吗?

注意:我使用的是 Windows Server 2016 容器。不确定这与该问题相关。

And*_*inn 4

正如 johnharris85 评论所暗示的那样,您想要做的事情是不可能的。您无法拉取镜像并重建它(没有Dockerfile)。

如果您尝试为图像指定参数,那么您可以通过环境变量来指定。Dockerfile否则,如果您有图像的源,则可以ARG在自己重建图像时使用该函数指定参数。

build并且imagedocker-compose.yml上下文中是相互排斥的。