【发布时间】:2019-04-22 16:04:38
【问题描述】:
我有一个带有build context 属性的 docker-compose.yml 文件,如下所示:
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 文件,但没有 no 构建上下文(图像通过 SSH 复制为 .tar 存档,然后通过 docker load 加载)。
现在我有一个错误:
错误:构建路径 /foo 要么不存在,要么不可访问,要么 不是有效的网址。
所以我试图找到一种方法来抑制在运行 docker-compose up 时查找此构建上下文(我不想构建图像,因为它们已经是最新的),但 docker-compose up --no-build 没有工作。有什么想法吗?
【问题讨论】:
-
但重点是我不想修改 docker-compose.yml 文件。该文件从存储库复制到 CI 服务器,所以我不想更改它(我可能不得不使用一些正则表达式)。或者,我可以维护两个单独的撰写文件,但如果没有必要,我想避免它
-
您是否尝试在回购的根目录中添加
foo目录,其中包含空.keep或Readme文件,这解释了为什么需要空目录。 -
在 CI 服务器上没有 foo 目录。只有 .tar 存档与 docker 图像
-
我根据您的问题打开了一个功能请求,以防有人想在那里点赞:github.com/docker/compose/issues/7674
-
我发现了关于同一问题的公开讨论github.com/docker/compose/issues/4047。它不能解决问题,但有一些解决方法
标签: docker docker-compose continuous-integration suppress