[docker] Docker-Compose (다중 서비스 포함)

이것은 샘플 질문입니다! 생산에서 절대로하지 마십시오. NGINX / PHP / 기타 서비스를 별도의 컨테이너에서 실행하십시오!

docker-compose upUbuntu 컨테이너를 시작 하면 ubuntu exited with code 0.

내가 실행 docker run -d -ti -p 80:80 -v ~/sph/laravel52:/www/laravel ubuntu하면 모든 것이 잘 작동합니다.

Docker Compose를 사용하여이 동작을 복제하려면 어떻게해야합니까?

이것은 내 Dockerfile:

# Version: 0.0.1
FROM ubuntu:15.04



ENV DEBIAN_FRONTEND noninteractive

#INSTALL ALL
RUN apt-get update && apt-get install -y  \
       nano \
       php5-fpm \
       php5-mysql \
       nginx



#NGINX CONF
ADD nginx/sites-available/laravel.conf /etc/nginx/sites-available/
RUN rm /etc/nginx/sites-available/default
RUN mv /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-available/default

VOLUME /www


ENTRYPOINT nginx && service php5-fpm start && /bin/bash

CMD ["true"]


EXPOSE 80

그리고 docker-compose.yml:

version: '2'
services:
  ubuntu:
        build: .
        container_name: ubuntu
        volumes:
            - ~/sph/laravel52:/www/laravel
        ports:
          - "80:80"



답변

문제는 -t컨테이너를 실행할 때 옵션을 사용하고 있다는 것입니다 .

컨테이너가 계속 실행되는 docker-compose.yml 파일에서 tty옵션 (참조 참조 )을 활성화했는지 확인할 수 있습니까?

version: '2'
services:
  ubuntu:
        build: .
        container_name: ubuntu
        volumes:
            - ~/sph/laravel52:/www/laravel
        ports:
          - "80:80"
        tty: true


답변