Docker-compose vous permet d'utiliser des images de docker préexistantes ou de construire à partir de la source. Pour l'option de construction, le référence officielle nécessite
Soit un chemin vers un répertoire contenant un Dockerfile, ou une URL vers un dépôt git .
Je voudrais profiter de ce dernier cas, pour ne pas avoir à créer un sous-module git dans mon projet, ni enregistrer un nouveau référentiel sur Docker Hub. Malheureusement, il n'y a pas d'exemples sur la façon de formater l'URL, et chaque formulaire que j'ai essayé est confondu avec un chemin de fichier relatif.
par exemple.
---
letsencrypt:
build: https://github.com/letsencrypt/letsencrypt.git
...
Échoue avec l'erreur:
ERREUR: le chemin de génération /{MY_CURRENT_PATH}/https:/github.com/letsencrypt/letsencrypt.git n'existe pas ou n'est pas accessible.
Je n'ai plus eu de chance avec les autres formes que j'ai essayées:
Utilisez-vous la version 1.5.2? Il semble que cela ait été récemment ajouté dans https://github.com/docker/compose/pull/24 . Essayez la mise à niveau.
Exemple:
---
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
Testé avec:
$ docker-compose -v
docker-compose version 1.11.2, build dfed245
Le fichier tests/unit/config/config_test.py
montre:
def test_valid_url_in_build_path(self):
valid_urls = [
'git://github.com/docker/docker',
'[email protected]:docker/docker.git',
'[email protected]:atlassianlabs/atlassian-docker.git',
'https://github.com/docker/docker.git',
'http://github.com/docker/docker.git',
'github.com/docker/docker.git',
]
Ceci est confirmé par compose/config/config.py#L79-L85
:
DOCKER_VALID_URL_PREFIXES = (
'http://',
'https://',
'git://',
'github.com/',
'git@',
)