2015-03-05 76 views
8

Tôi đang cố bắt đầu vùng chứa của riêng mình và liên kết nó với vùng chứa mysql chính thức. Tôi đang sử dụng docker-compose để bắt đầu cả hai thùng chứa và liên kết chúng với nhau. Thùng chứa của riêng tôi được cho là một LAMP-stack thông thường chạy một ứng dụng PHP đơn giản.Chạy docker-compose với mysql và thùng chứa docker riêng

Khi tôi chạy docker-compose up, cả hai đều được xây dựng đúng cách, nhưng khi docker cố chạy chúng, chúng chỉ dừng lại với mã lỗi mytestservice_web_1 exited with code 0. Tôi không thể thấy bất kỳ lỗi nào trong nhật ký dựng.

Đây là tôi Docker-compose.yml

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

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

Đây là Dockerfile tôi cho container của riêng tôi.

FROM linode/lamp 
WORKDIR /var/www 
RUN a2enmod rewrite 
ADD . /var/www/mytestservice 
ADD mytestservice.conf /etc/apache2/sites-enabled/ 
CMD service apache2 start 

Nếu tôi bắt đầu thủ công bằng trình docker thì không có vấn đề gì.

Làm cách nào để giữ các thùng chứa hoạt động?

+0

tôi đoán là ':' trong 'mysql: 5.6' được ném ra khỏi cú pháp yaml. Hãy thử gói nó trong dấu ngoặc kép: 'image:" mysql: 5.6 "' –

+0

Điều đó không hiệu quả. Tôi nghĩ rằng vấn đề là tôi không chỉ định rằng các container sẽ tiếp tục chạy. Tôi đang chạy một hình ảnh đèn mà không có một cách rõ ràng để tiếp tục chạy, trừ khi tôi bắt đầu nó với bash. – magnudae

+0

Vâng CMD của bạn là sai, nó sẽ bắt đầu apache như là một quá trình tiền cảnh. –

Trả lời

6

Như đã đề cập trong nhận xét của tôi trên:

CMD exec /usr/sbin/apachectl -D FOREGROUND 
Các vấn đề liên quan