Docker-compose允许您使用preëxisting泊坞窗图像或从源码构建。对于构建选项,official reference需要
指向包含Dockerfile的目录的路径,或git存储库的URL 。
我想利用后一种情况,这样我就不必在项目中创建一个git子模块,或者在Docker Hub上注册一个新的存储库。不幸的是,没有关于如何格式化url的示例,我尝试过的每个表单都被误认为是相对文件路径。
e.g。
---
letsencrypt:
build: https://github.com/letsencrypt/letsencrypt.git
...
因错误而失败:
错误:构建路径/{MY_CURRENT_PATH}/https:/github.com/letsencrypt/letsencrypt.git要么不存在,要么无法访问。
我尝试过的其他表格没有任何运气:
答案 0 :(得分:20)
您是否正在运行1.5.2版本?看起来这实际上最近在https://github.com/docker/compose/pull/2430中添加了。尝试升级。
示例:
---
version: '2'
services:
redis:
image: "redis:3.2.3"
hostname: redis
redis-commander:
build: https://github.com/joeferner/redis-commander.git
command: --redis-host redis
links:
- "redis:redis"
ports:
- 8081
经过测试:
$ docker-compose -v
docker-compose version 1.11.2, build dfed245
答案 1 :(得分:7)
文件tests/unit/config/config_test.py
显示:
def test_valid_url_in_build_path(self):
valid_urls = [
'git://github.com/docker/docker',
'git@github.com:docker/docker.git',
'git@bitbucket.org:atlassianlabs/atlassian-docker.git',
'https://github.com/docker/docker.git',
'http://github.com/docker/docker.git',
'github.com/docker/docker.git',
]
这已通过compose/config/config.py#L79-L85
确认:
DOCKER_VALID_URL_PREFIXES = (
'http://',
'https://',
'git://',
'github.com/',
'git@',
)