Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829
  1. FROM java:8-alpine
  2. COPY . /container
  3. RUN /container/build.sh
  4. ENV LD_PRELOAD /usr/local/lib/faketime/libfaketime.so.1
  5. ENV FAKETIME_DONT_FAKE_MONOTONIC 1
  6. # supervisor配置文件路径
  7. ENV SUPERVISORD_CONF=/etc/supervisord.conf
  8. # supervisor临时文件路径(日志文件、sock文件、pid文件)
  9. ENV SUPERVISORD_TMP_CONF=/tmp/supervisor
  10. # supervisor程序块文件路径,即是[program]块
  11. ENV SUPERVISORD_INCLUDE_FILE=/etc/supervisordfile
  12. # web管理界面的IP
  13. ENV SUPERVISORD_WEB_IP=*
  14. # web管理界面的PORT
  15. ENV SUPERVISORD_WEB_PORT=9999
  16. # web管理界面的账号
  17. ENV SUPERVISORD_WEB_ACCOUNT=admin
  18. # web管理界面的密码
  19. ENV SUPERVISORD_WEB_PASSWORD=adminpass
  20. RUN mkdir -p ${SUPERVISORD_TMP_CONF}
  21. RUN mkdir -p ${SUPERVISORD_INCLUDE_FILE}
  22. RUN echo -e "[unix_http_server]\nfile=${SUPERVISORD_TMP_CONF}/supervisor.sock\n[inet_http_server]\nport=${SUPERVISORD_WEB_IP}:${SUPERVISORD_WEB_PORT}\nusername=${SUPERVISORD_WEB_ACCOUNT}\npassword=${SUPERVISORD_WEB_PASSWORD}\n[supervisord]\nlogfile=${SUPERVISORD_TMP_CONF}/supervisord.log\nlogfile_maxbytes=50MB\nlogfile_backups=10\nloglevel=info\npidfile=${SUPERVISORD_TMP_CONF}/supervisord.pid\nnodaemon=false\nminfds=1024\nminprocs=200\n[supervisorctl]\nserverurl=unix://${SUPERVISORD_TMP_CONF}/supervisor.sock\n[program:sshd]\ncommand=/usr/sbin/sshd -D\n[include]\nfiles = ${SUPERVISORD_INCLUDE_FILE}/*.ini" > ${SUPERVISORD_CONF}
  23. EXPOSE 9999
  24. CMD ["/usr/bin/supervisord", "--configuration=/etc/supervisord.conf"]