bootstrap.sh 920 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. set -e
  3. set -u
  4. # supervisord 配置文件
  5. SUPERVISOR_PARAMS='-c /etc/supervisord.conf'
  6. # 创建一些需要的目录
  7. mkdir -p /data/conf /data/run /data/logs/
  8. chmod 711 /data/conf /data/run /data/logs
  9. #export WORKER_REDIS_PORT=${REDIS_PORT:6}
  10. #export WORKER_REDIS_DB=${REDIS_DB:-0}
  11. # 遍历 `/opt/init/*.sh`,然后执行它
  12. if [ "$(ls /opt/init/)" ]; then
  13. for cmd in /opt/init/*.sh; do
  14. . $cmd
  15. done
  16. fi
  17. # 可能会使用一个交互式的容器.
  18. if test -t 0; then
  19. # 运行 supervisord 到后台
  20. supervisord $SUPERVISOR_PARAMS
  21. # 运行一些命令并退出
  22. # 没有命令时,运行bash
  23. if [[ $@ ]]; then
  24. eval $@
  25. else
  26. export PS1='[\u@\h : \w]\$ '
  27. /bin/bash
  28. fi
  29. # 运行 supervisord 在前台, 保持直到停止容器.
  30. else
  31. # 有额外的参数,先执行它.
  32. # 可能会有些问题
  33. if [[ $@ ]]; then
  34. eval $@
  35. fi
  36. supervisord -n $SUPERVISOR_PARAMS
  37. fi