Dockerを初めて使いました。このチュートリアルの後:https://realpython.com/blog/python/django-development-with-docker-compose-and-machine/Dockang Djangoがサーバーに接続できませんでした:Connection refused
私のコードのほとんどはチュートリアル(https://github.com/realpython/dockerizing-django)と同じです。いくつかのマイナーチェンジがあります。
この私のdocker-compose.yml
web:
restart: always
build: ./web
expose:
- "8000"
links:
- postgres:postgres
- redis:redis
volumes:
- /usr/src/app
- /usr/src/app/static
env_file: .env
environment:
DEBUG: 'true'
command: /usr/local/bin/python manage.py runserver
nginx:
restart: always
build: ./nginx/
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
links:
- web:web
postgres:
restart: always
image: postgres:latest
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data/
redis:
restart: always
image: redis:latest
ports:
- "6379:6379"
volumes:
- redisdata:/data
(私はデバッグ目的のrunserverするgunicornコマンドを変更し)、これはジャンゴの私のsettings.pyである:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'postgres',
'PORT': '5432',
}
}
nginxのとpostgresの(とRedisの)は起動していますが、私のdjangoサーバはこのエラーによって起動しません:
web_1 | django.db.utils.OperationalError: could not connect to server: Connection refused
web_1 | Is the server running on host "localhost" (::1) and accepting
web_1 | TCP/IP connections on port 5432?
web_1 | could not connect to server: Connection refused
web_1 | Is the server running on host "localhost" (127.0.0.1) and accepting
web_1 | TCP/IP connections on port 5432?
私はたくさんグーグルで行きました。私はpostgresが動作していることを確認しました。ポート5432でpsqlコマンドを使用して接続できます。
紛失しています。私の間違いは何ですか?
EDIT:サーバがローカルホスト上で動作しているかどうかを尋ねるので、settings.pyファイルなどを使用していないようですが、設定はポストグルを探している必要があります。そのような行が存在しない場合、 は
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
ラインがあるはず、
がPYTHONPATH
に関してごDJANGO_SETTINGS_MODULE
を設定し、それを
返信いただきありがとうございますが、その行はあります!すべてがローカルで動作します。 –
@あなたの更新は、それが正しいです。そして、私が言及したレポは、私のために箱の中で働いています:)。私はそれを有効にすることができたが、どのくらい正確にはわからない。 –