这是我的Dockerfile:
FROM ubuntu:14.04.4
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:nginx/stable
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y nginx
ADD configurations/nginx.conf /etc/nginx/nginx.conf
ADD configurations/app.conf /etc/nginx/sites-available/default.conf
RUN ln -sf /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf
RUN chown -Rf www-data.www-data /var/www/
ADD scripts/start.sh /start.sh
RUN chmod 755 /start.sh
EXPOSE 443
EXPOSE 80
CMD ["/bin/bash", "/start.sh"]
start.sh脚本:
cat scripts/start.sh
service nginx start
echo "test" > /tmp/test
当我登录容器时:
docker exec --interactive --tty my_container bash
测试文件既不存在也不运行nginx。 nginx日志中没有错误。
答案 0 :(得分:0)
最佳做法是在前台运行流程而不是服务。
删除start.sh文件并将CMD更改为:
static Comparer<T> Default {
get {
...
return new ClassExtendingComparer<T>();
}
}
您可以更好地阅读官方nginx dockerfile:https://github.com/nginxinc/docker-nginx/blob/master/stable/jessie/Dockerfile
答案 1 :(得分:-1)
尝试
RUN /etc/init.d/nginx start