在Docker Compose中创建和使用自定义映像



我正在尝试创建一个Docker映像,该映像存储了一些我们可以在使用Docker Desktop的其他映像中使用的安装。图像被称为我的工具,它成功构建,当我运行docker-compose up -d时,我可以在仪表板中看到它,但是当我试图将它作为构建参数传递给另一个图像时,我遇到了一个问题。我得到以下错误:

状态:lvtools的pull access被拒绝,仓库不存在或者可能需要'docker login': denied:请求的资源访问被拒绝,代码:1

我发现,如果我重新运行docker-compose up而不删除工具图像,它工作得很好。我能在一个撰写文件中做到这一点吗?我猜它找不到,但我不明白为什么会这样。下面是我的docker-compose文件,其中包含两个图像定义。

这是我的工具定义:

tools:
image: mytools
build:
context: ./docker/build/mytools
args:
BASE_IMAGE: ${SOLUTION_BASE_IMAGE}

这是我想在mytools图像中传递给

的服务
cm:
image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xm1-cm:${VERSION:-latest}
build:
context: ./docker/build/cm
args:
MY_TOOLS: mytools

我发现通过设置一个从CM服务到工具的depends_on来解决这个问题。我还注意到图像被标记为注册表地址,当将其传递到构建参数

时需要包含该注册表地址。如MY_TOOLS: mytools

应该

MY_TOOLS:注册表地址/mytools

最新更新