docker env file
在docker-compose 中使用以下方式导入.env
file。
web:
build: .
restart: always
working_dir: /deploy/mysite
command: ./service_web.sh
env_file:
- .env # environments
.env
DOCKER=1
HOME=/deploy
想用shell script动态获取环境的CPU count
如果直接在.env 中写如下的内容,会报语法错误:
CPU_NUM=$(cat /proc/cpuinfo |grep processor|wc -l)
所以,在web服务的command: ./service_web.sh
脚本中export一个变量,并在gunicorn中使用:
#!/bin/bash
sleep 5
export CPU_NUM=$(cat /proc/cpuinfo |grep processor|wc -l)
python manage.py collectstatic -v0 --noinput
python manage.py migrate --noinput
/usr/local/bin/gunicorn -w $((2*$CPU_NUM+1)) -b unix:/deploy/running/handle/django-tutorial-server.sock mysite.wsgi:application --log-level info