2015-12-06 12 views
16

Docker-compose consente di utilizzare le immagini docker prexxisting o creare dalla sorgente. Per l'opzione di compilazione, il official reference richiedeCome posso fare in modo che docker-compose costruisca un'immagine da un repository git remoto?

Either a path to a directory containing a Dockerfile, or a url to a git repository.

mi piacerebbe sfruttare quest'ultimo caso, in modo che non ho per creare un modulo git nel mio progetto, o di registrare un nuovo repository su Docker hub. Sfortunatamente, non ci sono esempi su come formattare l'url e ogni modulo che ho provato viene scambiato per un percorso relativo di file.

ad es.

--- 
letsencrypt: 
    build: https://github.com/letsencrypt/letsencrypt.git 
... 

fallisce con l'errore:

ERROR: build path /{MY_CURRENT_PATH}/https:/github.com/letsencrypt/letsencrypt.git either does not exist or is not accessible.

io non ha avuto più fortuna con le altre forme che ho provato:

risposta

12

Stai eseguendo la versione 1.5.2? Sembra che questo sia stato aggiunto di recente in https://github.com/docker/compose/pull/2430. Prova ad aggiornare.

Esempio:

--- 

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 

testati con:

$ docker-compose -v 
docker-compose version 1.11.2, build dfed245 
+3

Ho dimenticato la prima regola della finestra mobile: in caso di dubbio, aggiornamento. $ finestra mobile-comporre --version versione finestra mobile-composizione: 1.5.1 Peccato che la seconda regola è, si preparano a passare il resto della vostra giornata fissare ciò che l'aggiornamento è rotto ... – billwanjohi

+0

Yep. Docker è un mondo molto veloce in questo momento! :) –

+0

Se utilizzi un Mac o Windows, assicurati di utilizzare Docker Toolbox per mantenere tutti gli strumenti Docker con versione corretta https://www.docker.com/docker-toolbox – taco

6

il file tests/unit/config/config_test.py spettacoli:

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', 
    ] 

Ciò è confermato con compose/config/config.py#L79-L85:

01.235.164,106 mila
DOCKER_VALID_URL_PREFIXES = (
    'http://', 
    'https://', 
    'git://', 
    'github.com/', 
    '[email protected]', 
) 
Problemi correlati