2016-02-16 16 views
7

Ho composto il file localmente. Come eseguire il pacchetto di contenitori su host remoto come docker-compose up -d con DOCKER_HOST=<some ip>?Come eseguire la finestra mobile: comporre sull'host remoto?

+0

Did you mean 'host remoto'? – JAM

+0

sì, remoto, sry – Arsen

+0

La tua domanda non è chiara per me. Vuoi veramente distribuire un container su un host remoto tramite 'docker-compose'? – Auzias

risposta

4

Se non è necessario eseguire il contenitore docker sul computer locale, ma sempre sullo stesso computer remoto, è possibile modificarlo nelle impostazioni della finestra mobile.

Sulla macchina locale: È possibile controllare host remoto con il parametro -H

docker -H tcp://remote:2375 pull ubuntu 

Per usarlo con finestra mobile-composizione, è necessario aggiungere questo parametro in/etc/default/finestra mobile

Sulla macchina remota

Si dovrebbe cambiare ascoltare da indirizzo esterno e non solo socket UNIX.

Vedere Bind Docker to another host/port or a Unix socket per ulteriori dettagli.

Se è necessario eseguire il contenitore su più Hoste remoto, è necessario configurare Docker Swarm

3

Dalla documentazione composizione

Compose CLI environment variables

DOCKER_HOST

imposta l'URL della finestra mobile demone. Come per il client Docker, per impostazione predefinita è necessario unix: ///var/run/docker.sock.

in modo che possiamo fare

export DOCKER_HOST=tcp://192.168.1.2:2375 
docker-compose up 
2

Dato che siete in grado di accedere al computer remoto, un altro approccio alla corsa docker-compose comandi su quella macchina è quello di utilizzare SSH.

Copiare il file docker-compose.yml verso l'host remoto tramite scp, eseguire i comandi docker-compose sopra SSH, finalmente ripulire togliendo di nuovo il file. Questo potrebbe apparire come segue:

scp ./docker-compose.yml [email protected]:/tmp/docker-compose.yml 
ssh [email protected] "docker-compose -f /tmp/docker-compose.yml up" 
ssh [email protected] "rm -f /tmp/docker-compose.yml" 

si potrebbe anche rendere più breve e omettere l'invio e la rimozione del file docker-compose.yml utilizzando l'opzione -f --docker-compose che aspettano il file docker-compose.yml per essere convogliato da stdin. Proprio pipe il suo contenuto al comando SSH:

cat docker-compose.yml | ssh [email protected] "docker-compose -f - up" 

Se si utilizza la sostituzione variabile d'ambiente nel file docker-compose.yml, il comando di cui sopra non li sostituirà con i tuoi valori locali sul host remoto e i comandi potrebbero fallire a causa alle variabili non impostate.Per ovviare a questo, l'envsubst utility può essere utilizzato per sostituire le variabili con i valori locali in memoria prima di tubazioni il contenuto al comando SSH:

envsubst < docker-compose.yml | ssh [email protected] "docker-compose up" 
Problemi correlati