【发布时间】:2020-10-08 23:24:09
【问题描述】:
这是一个示例问题!永远不要在生产中这样做。在单独的容器中运行 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。但是,如果您不了解该决定的含义,您可以阅读以下github.com/phusion/baseimage-docker -
图片名称。我的错误。 Ubuntu
-
我在将 ruby 添加到 centos Dockerfile 时遇到了类似的问题。所以我使用了'RUN yum update && yum install -y ruby'
标签: docker docker-compose