Ich dachte darüber nach, eine Django-Umgebung mit Docker zu erstellen, indem ich mich auf Folgendes bezog, aber es blieb ein wenig hängen, also werde ich es als Memo hinterlassen. https://docs.docker.jp/compose/django.html
Als ich Docker-Compose Up-D für den Container-Start verwendet habe, wurde nur der DB-Container nicht richtig gestartet ...
toruchan:~/work/py-work$ docker-compose up -d
Starting pywork_db_1 ...
Starting pywork_db_1 ... done
Creating pywork_web_1 ...
Creating pywork_web_1 ... done
toruchan:~/work/py-work$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------
pywork_db_1 docker-entrypoint.sh postgres Exit 1
pywork_web_1 python3 manage.py runserve ... Up 0.0.0.0:8000->8000/tcp
toruchan:~/work/py-work$ docker-compose logs
Attaching to pywork_web_1, pywork_db_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 | 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
Anscheinend tritt ein Fehler auf, wenn das Passwort nicht gesetzt ist ...?
Dann habe ich mir die folgenden zwei ausgedacht
Ich möchte es vorerst nur in der lokalen Umgebung starten, also wähle 1 Passwort ungültig
Fügen Sie der Datei docker-compose.yml als Gegenmaßnahme im Fall von 1 eine Zeile "POSTGRES_HOST_AUTH_METHOD:" trust "" als Gegenmaßnahme hinzu. Insgesamt sieht es so aus
version: '3'
services:
db:
image: postgres
environment:
POSTGRES_HOST_AUTH_METHOD: 'trust'
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Ich hätte den Container damit neu starten sollen Ich werde das Passwort später richtig einstellen ...
Recommended Posts