【发布时间】:2016-05-23 14:16:05
【问题描述】:
我正在尝试使用我的 Django 应用程序创建 Docker 映像,但不幸的是,我在尝试运行我的入口点脚本时遇到了麻烦。
Docker 退出代码错误 127 并显示以下消息:
/docker-entrypoint.sh:忽略/docker-entrypoint-initdb.d/*
您可以在下面找到相应的配置文件:
Dockerfile
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir -p /web/src
ADD . /web/src
WORKDIR /web/src
RUN pip install -U pip
RUN pip install -r requirements.txt -U
RUN chmod u+x docker-entrypoint.sh
ENTRYPOINT ["/bin/bash", "docker-entrypoint.sh"]
docker-entrypoint.sh
#!/bin/bash
python manage.py migrate
python manage.py collectstatic --noinput
touch /srv/logs/gunicorn.log
touch /srv/logs/access.log
tail -n 0 -f /srv/logs/*.log &
echo Starting Gunicorn...
exec gunicorn config.wsgi:application \
--name django_server \
--bind 0.0.0.0:8000 \
--workers 3 \
--log-level=info \
--log-file=/srv/logs/gunicorn.log \
--access-logfile=/srv/logs/access.log \
"$@"
docker-compose.yml
version: '2.0'
services:
db:
container_name: db_server
image: postgres
web:
container_name: django_server
build: .
volumes:
- .:/web/src
environment:
- SECRET_KEY=k3jghf1jk%$JH^1GJH5@YUTR@!MBMB<5=7DXXG)JHSX=
- PGDATABASE=postgres
- PGUSER=postgres
- PGPASSWORD=''
- PGHOST=db
- DJANGO_ENV=development
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
links:
- db
【问题讨论】:
-
您使用的是什么操作系统?这是在虚拟机中吗?你正在运行什么命令来创建图像?
-
操作系统:Ubuntu 14.04,命令:docker-compose build
-
你确定你不只是想做
docker build .吗? -
当我
run docker build .时,构建通过,但是当我运行docker-compose up运行项目时,它会大大执行入口脚本,但无法识别 gunicorn,尽管我可以在构建日志中看到安装。我得到:gunicorn: command not found
标签: django docker docker-compose