FROM ubuntu
ADD https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.1/s6-overlay-amd64-installer /tmp/
RUN chmod +x /tmp/s6-overlay-amd64-installer && /tmp/s6-overlay-amd64-installer /
RUN apt-get update && \
apt-get install -y nginx && \
echo "daemon off;" >> /etc/nginx/nginx.conf
ENTRYPOINT ["/init"]
CMD ["nginx"]
这样即可生效,当nginx挂掉的时候,容器一样会退出的。root@2ae83d42ee34:/etc/services.d# tree
.
|-- testapp
| |-- finish
| `-- run
`-- testapp2
|-- finish
`-- run
其中run和finish都是可执行文件(bash或python或二进制等),容器启动会运行run程序,如果run意外退出则会运行finish,并且会被自动拉起。整个过程容器不会退出。yum install crontabs然后容器里面编写服务启动脚本run
#!/bin/bash crond -f服务结束脚本finish
#!/bin/bash exit 0这样就可以在容器里面运行crontab了
entrypoint.sh/usr/sbin/sshd && /bin/bash容器的CMD执行entrypoint.sh即可不退出,但是问题是sshd退出了容器也不会退出。