前提・実現したいこと
Quickstart: Compose and Django | Docker Documentation
上記のDockerのドキュメントに沿って、Djangoの起動を試みていますが、Connect the database
の項のdocker-compose up
で、表題のエラーが表示されます。
エラーを解決し、ローカルサーバーを立ち上げて、Djangoのウェルカムページを表示したいです。
試したこと
エラー文にあるPOSTGRES_HOST_AUTH_METHOD=trust
をdocker-compose.yml
に設定してみましたが、解決にいたりませんでした。
... environment: - - POSTGRES_NAME=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres + - POSTGRES_HOST_AUTH_METHOD=trust ...
また、エラー文をググるとPOSTGRES_HOST_AUTH_METHOD=trust
を設定することで解決する、という旨のページを複数発見できました。
しかし、前述の通り解決にはいたりませんでした。
いったん最初からやり直してみようと考え、諸々削除するコマンドをググって見つけた、docker system prune -a
を実行してから、再度docker-compose up
を実行しましたが、同じエラーが表示されました。
発生している問題・エラーメッセージ
[+] Running 2/2 - Container hozon_db_1 Created 0.3s - Container hozon_web_1 Created 0.9s Attaching to db_1, web_1 db_1 | Error: Database is uninitialized and superuser password is not specified. db_1 | You must specify POSTGRES_PASSWORD to a non-empty value for the db_1 | superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run". db_1 | db_1 | You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all db_1 | connections without a password. This is *not* recommended. db_1 | db_1 | See PostgreSQL documentation about "trust": db_1 | https://www.postgresql.org/docs/current/auth-trust.html db_1 exited with code 1 web_1 | Watching for file changes with StatReloader ...
該当のソースコード
settings.py
py
1""" 2Django settings for composeexample project. 3 4Generated by 'django-admin startproject' using Django 3.2.10. 5 6For more information on this file, see 7https://docs.djangoproject.com/en/3.2/topics/settings/ 8 9For the full list of settings and their values, see 10https://docs.djangoproject.com/en/3.2/ref/settings/ 11""" 12 13import os 14 15from pathlib import Path 16 17# Build paths inside the project like this: BASE_DIR / 'subdir'. 18BASE_DIR = Path(__file__).resolve().parent.parent 19 20 21# Quick-start development settings - unsuitable for production 22# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ 23 24# SECURITY WARNING: keep the secret key used in production secret! 25SECRET_KEY = 'django-insecure-79bi8-b&2*h_efj-ggk9^(t4bta5@4653eemg23+p^1ny6+88-' 26 27# SECURITY WARNING: don't run with debug turned on in production! 28DEBUG = True 29 30ALLOWED_HOSTS = [] 31 32 33# Application definition 34 35INSTALLED_APPS = [ 36 'django.contrib.admin', 37 'django.contrib.auth', 38 'django.contrib.contenttypes', 39 'django.contrib.sessions', 40 'django.contrib.messages', 41 'django.contrib.staticfiles', 42] 43 44MIDDLEWARE = [ 45 'django.middleware.security.SecurityMiddleware', 46 'django.contrib.sessions.middleware.SessionMiddleware', 47 'django.middleware.common.CommonMiddleware', 48 'django.middleware.csrf.CsrfViewMiddleware', 49 'django.contrib.auth.middleware.AuthenticationMiddleware', 50 'django.contrib.messages.middleware.MessageMiddleware', 51 'django.middleware.clickjacking.XFrameOptionsMiddleware', 52] 53 54ROOT_URLCONF = 'composeexample.urls' 55 56TEMPLATES = [ 57 { 58 'BACKEND': 'django.template.backends.django.DjangoTemplates', 59 'DIRS': [], 60 'APP_DIRS': True, 61 'OPTIONS': { 62 'context_processors': [ 63 'django.template.context_processors.debug', 64 'django.template.context_processors.request', 65 'django.contrib.auth.context_processors.auth', 66 'django.contrib.messages.context_processors.messages', 67 ], 68 }, 69 }, 70] 71 72WSGI_APPLICATION = 'composeexample.wsgi.application' 73 74# Database 75# https://docs.djangoproject.com/en/3.2/ref/settings/#databases 76 77DATABASES = { 78 'default': { 79 'ENGINE': 'django.db.backends.postgresql', 80 'NAME': os.environ.get('POSTGRES_NAME'), 81 'USER': os.environ.get('POSTGRES_USER'), 82 'PASSWORD': os.environ.get('POSTGRES_PASSWORD'), 83 'HOST': 'db', 84 'PORT': 5432, 85 } 86} 87 88# Password validation 89# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators 90 91AUTH_PASSWORD_VALIDATORS = [ 92 { 93 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 94 }, 95 { 96 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 97 }, 98 { 99 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 100 }, 101 { 102 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 103 }, 104] 105 106 107# Internationalization 108# https://docs.djangoproject.com/en/3.2/topics/i18n/ 109 110LANGUAGE_CODE = 'en-us' 111 112TIME_ZONE = 'UTC' 113 114USE_I18N = True 115 116USE_L10N = True 117 118USE_TZ = True 119 120 121# Static files (CSS, JavaScript, Images) 122# https://docs.djangoproject.com/en/3.2/howto/static-files/ 123 124STATIC_URL = '/static/' 125 126# Default primary key field type 127# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field 128 129DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 130
docker-compose.yml
yml
1version: "3.9" 2 3services: 4 db: 5 image: postgres 6 volumes: 7 - ./data/db:/var/lib/postgresql/data 8 web: 9 build: . 10 command: python manage.py runserver 0.0.0.0:8000 11 volumes: 12 - .:/code 13 ports: 14 - "8000:8000" 15 environment: 16 - POSTGRES_NAME=postgres 17 - POSTGRES_USER=postgres 18 - POSTGRES_PASSWORD=postgres 19 depends_on: 20 - db
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/29 08:19 編集
2021/12/29 08:27 編集
2021/12/29 09:09
2021/12/29 10:38