Docker-使用多个服务组合

这是一个示例问题! 永远不要在生产环境中这样做。在单独的容器中运行 NGINX/PHP/其他服务!

当我启动 docker-compose up时,Ubuntu 容器将退出 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"
108061 次浏览

The thing is that you are using the option -t when running your container.

Could you check if enabling the tty option (see reference) in your docker-compose.yml file the container keeps running?

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