首页 > 解决方案 > docker compose - 忽略构建上下文路径

问题描述

我有 docker-compose.yml 文件,其build context属性指定如下:

version: '3'
services:
  my-service:
    container_name: my-service
    image: my-service
    build:
      context: foo
    ports:
    - 8088:8088

  # other services

当我在docker-compose up本地运行时,构建上下文确实存在并且一切正常。但是,我的 CI 服务器配置为使用相同的 docker-compose.yml 文件,但没有构建上下文(图像通过 SSH 复制为 .tar 存档,然后通过 docker load 加载)。现在我有一个错误:

错误:构建路径 /foo 不存在、不可访问或不是有效的 URL。

所以我试图找到一种方法来抑制在运行时寻找这个构建上下文docker-compose up(我不想构建图像,因为它们已经是最新的),但docker-compose up --no-build不起作用。有任何想法吗?

标签: dockerdocker-composecontinuous-integrationsuppress

解决方案


我将您的问题作为功能请求发布在 docker-compose 存储库上。让我们看看它是如何进展的:

https://github.com/docker/compose/issues/7674

同时,您必须通过修改执行此操作的 CI 脚本来解决此问题,docker-compose up --no-build以便它执行mkdir -p ...您需要的操作。


推荐阅读