2015-02-27 8 views
5

Ich habe eine fig.yml-Datei, die ich verwende, um meine Docker-Container einzurichten. Ich betreibe diese ./fig, indem Sie oben Dann gibt er folgendes:Docker wird nicht an ein Bild angehängt

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 

Also einmal, dass alles getan wird, ist und läuft. Mein Problem ist, dass es aus irgendeinem Grund nicht an den Nginx-Container angeschlossen ist, den ich eingerichtet habe. Der Docker ps Befehl gibt die folgenden:

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 

So das memcache Bild, das PHP-Bild und das Bild Percona ist alle gut zu gehen, aber es gibt kein nginx Docker Bild wie es sein sollte.

Unten ist, wie ich meine fig.yml-Datei eingerichtet habe, die im Grunde die Datei ist, die alles startet. Hat jemand irgendwelche Ideen, was passiert? Nur um zu bemerken, dass ich den Daemon ausgeschaltet habe, damit er nicht automatisch beendet wird.

fig.yml Datei hier:

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 

dachte Auch würde ich meine nginx Dockerfile im Falle umfassen dort etwas drin im Jede Hilfe fehlt stark

geschätzt

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/ 

Antwort

3

Führen Sie docker ps -a aus, um alle Container anzuzeigen, nicht nur die Container. Sie sehen docker_sa_1 als angehaltenen Container. Dies liegt daran, dass es beim Start sofort abgestürzt ist. Leider zeigt fig die Logs für Sie nicht an (oder schaltet den Stack automatisch aus), wenn dies geschieht.

Führen Sie docker logs docker_sa_1 aus, um den Ausgang zu sehen. Hoffentlich gibt es eine nette Nginx-Fehlermeldung für Sie. Wenn Sie nichts finden, entfernen Sie die sa Eintrag aus Ihrem fig.yml, ein fig up tun alles andere begann zu bekommen, dann laufen

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

(Sie werden mit den Pfad-Bits in den ? s ausfüllen müssen Sie haben das weggelassen. Dies entspricht dem, was Fig's tut, außer dass wir den Container interaktiv mit einem angehängten tty starten, anstatt ihn später anzuhängen. Wenn Sie noch kann keine Fehlermeldungen erhalten, führen

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

eine Live-Shell auf dem Behälter zu erhalten. Versuchen Sie dann, Nginx selbst zu starten und nach dem Absturz nach Protokolldateien zu suchen.

+0

Dies funktionierte genau so, wie Sie gesagt haben. Der Nginx ist beendet, weil er den Pfadnamen für das SSL-Zertifikat nicht mag. Danke für die Hilfe – Johnathon22