0
私はドッカーには新しく、私はドッカーコンテナーの中に私のdjangoウェブサイトを入れたいと思っています。ドッカーエントリースクリプトでpostgresサービスを開始する
:私は、次のコマンドを使用してコンテナを起動したときに、しかし
#!/bin/bash
service postgresql start
sleep 2s #sleep for two seconds
source /srv/project/EnvProject/bin/activate
python /srv/project/manage.py collectstatic --noinput # Collect static files
python /srv/project/manage.py migrate_schemas # Apply database migrations
# Prepare log files and start outputting logs to stdout
touch /srv/logs/gunicorn.log
touch /srv/logs/access.log
tail -n 0 -f /srv/logs/*.log &
# Start Gunicorn processes
#echo Starting Gunicorn.
# exec gunicorn project.wsgi:application \
# --name project \
# --bind 0.0.0.0:8000 \
# --workers 3 \
# --log-level=info \
# --log-file=/srv/logs/gunicorn.log \
# --access-logfile=/srv/logs/access.log \
# "[email protected]"
#Export Python Path
PYTHONPATH=/srv/project/Envproject/bin
# Start Uwsgi Process
echo Starting Uwsgi
exec uwsgi
--http :8000
--socket 0.0.0.0:8000
--home /srv/project/Envproject/
--chdir /srv/project/project
--wsgi-file /srv/project/project/wsgi.py
--uid root
--pythonpath /srv/project/Envproject/
:私はまた、次のものが含まれentryPointScript.sh
という名前のエントリスクリプトを作成し http://michal.karzynski.pl/blog/2015/04/19/packaging-django-applications-as-docker-container-images/
:私は、セットアップの容器を、ここで説明したように持っています
django.db.utils.OperationalError: FATAL: the database system is starting up
:
docker run -i -t --entrypoint=/entryPointScript.sh nikssardana/project
Djangoはエラーをスローします
私はpostgresqlサービスが開始するには時間がかかりすぎると思います。エラーを回避するにはどうすればよいですか?
http://stackoverflow.com/q/35069027/1005215 –
@NehalJWani私はそこに述べた答えを見て、その答えのpythonスクリプトに似た何かをするスクリプトを書いた。サーバーに接続しようとすると、「致命的:データベースシステムが起動しています」 –
問題が解決したと思います。 1分ほど待ってからデータベースに接続します。 –