当我启动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"
答案 0 :(得分:200)
问题是您在运行容器时使用选项-t
。
您是否可以检查在docker-compose.yml文件中启用tty
选项(请参阅reference)容器是否继续运行?
version: '2'
services:
ubuntu:
build: .
container_name: ubuntu
volumes:
- ~/sph/laravel52:/www/laravel
ports:
- "80:80"
tty: true