这是一个示例问题!请勿在生产环境中使用。请在单独的容器中运行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"
ENTRYPOINT nginx && service php5-fpm start && /bin/bash
。但如果你不明白这个决定的含义,可以阅读以下内容:https://github.com/phusion/baseimage-docker。 - Daniel Stefaniuk