2015-03-05 10 views
8

Ich versuche, meinen eigenen Container zu starten und es mit dem offiziellen mysql Container zu verknüpfen. Ich verwende docker-compose, um beide Container zu starten und sie miteinander zu verbinden. Mein eigener Container soll ein regulärer LAMP-Stack sein, der eine einfache PHP-Anwendung ausführt.Running docker-komponieren mit mysql und eigenen docker container

Wenn ich docker-compose up ausführen, erstellen beide ordnungsgemäß, aber wenn Docker versucht, sie auszuführen, stoppen sie einfach mit dem Fehlercode mytestservice_web_1 exited with code 0. Ich kann keine Fehler im Build-Protokoll sehen.

Hier ist meine Docker-compose.yml

web: 
    build: . 
    links: 
    - mysql 
    ports: 
    - "80:80" 

mysql: 
    image: mysql:5.6 
    environment: 
    - MYSQL_ROOT_PASSWORD=verysecret 

Hier mein Dockerfile für meine eigenen Behälter ist.

Wenn ich sie manuell mit Docker laufen lasse, gibt es keine Probleme.

Wie kann ich die Container am Laufen halten?

+0

Meine Vermutung ist, das ':' in 'mysql: 5.6' die yaml Syntax Abwerfen wird. Versuchen Sie es in Anführungszeichen zu schreiben: 'image:" mysql: 5.6 "' –

+0

Das hat nicht funktioniert. Ich denke, das Problem ist, dass ich nicht vorschlage, dass die Container weiterlaufen sollen. Ich führe ein Lampenbild, das keinen klaren Weg zum Laufen hat, es sei denn, ich starte es mit bash. – magnudae

+0

Ja, dein CMD ist falsch, es sollte Apache als Vordergrundprozess starten. –

Antwort

6

Wie in meinem Kommentar oben erwähnt:

CMD exec /usr/sbin/apachectl -D FOREGROUND