Docker-composeでdbコンテナが立ち上がらない

以前紹介したこちらの記事では,データベースにpostgresというものを使用していました.

challenge-think.hatenablog.com

別のパソコンでGithubからpullしてきて

docker-compose up

をすると,webコンテナは立ち上がるのですが,

dbのコンテナに以下のようなエラーが出てしまい.立ち上がってすぐにシャットダウンされてしまうという問題が発生しました.


    PostgreSQL Database directory appears to contain a database; Skipping initialization
    FATAL:  could not open directory "pg_notify": No such file or directory
    LOG:  database system is shut down

ドッカーについての知識が全くないため,原因を追及するところまではできませんでしたが,以下のように書き換えるとひとまずエラーは抜けることができます. データベースをsqliteに変更する方法です.

Dockerfile


    FROM python:3.9.13 
    WORKDIR *** 
    COPY requirements.txt ./ 
    RUN pip install --upgrade pip 
    RUN pip install --no-cache-dir -r requirements.txt 
    COPY . .
    

docker-compose.yml

version: '3'
services:
  webapp:
    restart: always
    build: .
    volumes:
      - .:***
    command: python3 manage.py runserver 0.0.0.0:8888
    ports:
      - "80:8888"
      

settings.py

~~~~~~~~~~~~~~
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
~~~~~~~~~~~~~~
      

以下に書き換え,再度

docker-compose up

をしたのちにブラウザで http //127.0.0.1 にアクセスするととりあえずは動くようになります. このようなエラーを吐いた原因についてはもう少しDockerに関して勉強してからに使用と思います.