2015-02-27 19 views
5

Ho un file fig.yml che sto usando per configurare i miei contenitori docker. Ho eseguito questo digitando ./fig fino Poi si emette il seguente:Docker non si collegherà a un'immagine

Recreating docker_memcache_1... 
Recreating docker_sphinx_1... 
Recreating docker_percona_1... 
Recreating docker_php_1... 
Recreating docker_sa_1... 
Attaching to docker_memcache_1, docker_percona_1, docker_php_1 

Quindi, una volta fatto ciò tutto è installato e funzionante. Il mio problema è che per qualche motivo non si collega al contenitore nginx che ho impostato. Le uscite di comando finestra mobile ps il seguente:

9bb0c647338e  php:latest   "/usr/sbin/php-fpm - 2 minutes ago  Up 2 minutes  9000/tcp   docker_php_1   
9f74789bdb15  percona:latest  "mysqld"    3 minutes ago  Up 3 minutes       docker_percona_1  
b848d3442bdf  memcached:latest "/bin/sh -c memcache 3 minutes ago  Up 3 minutes  11211/tcp   docker_memcache_1 

Così l'immagine memcache, l'immagine php, e l'immagine Percona tutti sono buoni per andare, tuttavia non v'è alcuna immagine nginx finestra mobile che ci dovrebbe essere.

Di seguito è come ho il mio file fig.yml impostato, che è fondamentalmente il file che lancia tutto. Qualcuno ha qualche idea su cosa potrebbe accadere? Solo per notare ho il demone impostato su off, quindi non dovrebbe uscire automaticamente.

fig.yml File qui:

sa: 
    image: nginx 
    links: 
    - php:php-fpm 
    volumes: 
    - ./svn (path here) 
    - ./cert:/(path here) 
    ports: 
    - "8080:80" 
memcache: 
    image: memcached 
    hostname: memcached.docker 
sphinx: 
    image: sphinx 
    hostname: sphinx.docker 
percona: 
    image: percona 
    hostname: percona.docker 
php: 
    image: php 
    hostname: php.docker 
    links: 
    - memcache:memcache.docker 
    - sphinx:sphinx.docker 
    - percona:percona.docker 

anche pensato che avrei includere il mio nginx Dockerfile nel caso ci sia qualcosa là dentro im manca Qualsiasi aiuto è molto apprezzato

Nginx Dockerfile

From centos:6.6 
RUN yum -y install http://mirror.us.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm 
RUN yum -y install nginx && rm /etc/nginx/conf.d/* 
CMD ["nginx", "-g", "daemon off;"] 
EXPOSE 80 443 
COPY sa.conf /etc/nginx/conf.d/ 
COPY base /etc/nginx/base/ 

risposta

3

Eseguire docker ps -a per mostrare tutti i contenitori, non solo i contenitori in esecuzione. Vedrai lo docker_sa_1 elencato come un contenitore interrotto. Questo perché si è arrestato immediatamente all'avvio. Sfortunatamente, fig non mostra i log per te (o spegne automaticamente lo stack) quando ciò accade.

Eseguire docker logs docker_sa_1 per vedere l'output. Speriamo che ci sarà un bel messaggio di errore Nginx per te. Se non è possibile trovare qualsiasi cosa, quindi rimuovere la voce sa dal fig.yml, fare un fig up per ottenere tutto il resto ha iniziato, quindi eseguire

docker run -it --link=docker_php_1:php-fpm -v $PWD/svn:(?) -v $PWD/cert:(?) -p 8080:80 nginx 

(avrete bisogno di riempire gli ? s con i bit di percorso hai tralasciato) Questo è equivalente a ciò che fa Fig, eccetto che stiamo iniziando il contenitore interattivo con un tty allegato invece di collegarlo in seguito. Se ancora può non ottenere alcun messaggio di errore, eseguire

docker run -it --link=docker_php_1:php-fpm -v $PWD/svn:(?) -v $PWD/cert:(?) -p 8080:80 nginx /bin/bash 

per ottenere una shell in diretta sul contenitore. Quindi prova ad avviare Nginx e cercare i file di registro dopo che si è bloccato.

+0

Ha funzionato esattamente come hai detto tu. Il nginx era uscito perché non gli piaceva il nome del percorso per il certificato SSL. Grazie per l'aiuto – Johnathon22