获取警告:nginx:无法打开监督/ ok:文件不存在

这是我的Dockerfile:

#Docker file with Alpine + nginx as base image FROM docker-alpine #adding the runit setting of nginx to /etc/service ADD ./conf/nginx.runit /etc/service/nginx/run RUN apk update && \ apk upgrade && \ apk add --update \ runit \ nginx \ curl #create necessary dir #create users #remove cache RUN mkdir /etc/nginx/sites-enabled && \ adduser -u 1001 docker -D -s /bin/ash && \ chown -R docker:docker /home/docker && \ mkdir -p /etc/service && \ chmod a+x /etc/service/nginx/run && \ mkdir /www && \ chown -R docker:docker /www && \ rm -fr /tmp/*.apk && \ rm -rf /var/cache/apk/* ADD ./conf/nginx.conf /etc/nginx/nginx.conf ADD ./conf/default.conf /etc/nginx/sites-enabled/default ADD ./run.sh /home/docker/run.sh #set workdir WORKDIR /www #expose ports EXPOSE 80 443 CMD ["/home/docker/run.sh"] 

run.sh

 #! /bin/ash echo `/sbin/ip route|awk '/default/ { print $3 }'`" docker.local" >> /etc/hosts exec /sbin/runsvdir -P /etc/service/ 

成功地build立了docker形象,这是第一次很好的工作。 但是,当我停止并重新启动与该图像的容器后,nginx没有启动,并得到标题中提到的错误。

find解决scheme :我也find了解决方法,我必须在容器exec /sbin/runsvdir -P /etc/service/再次运行这个命令。 运行这个nginx就开始了。

问题:

如何使容器服务在每次启动容器时运行。