[docker | postgres] Build a Backend REST API - 15



Add postgres to docker compose🐳


この授業では、張庫がデフォルトで提供しているsqlite DBの設定をpostgresqlに変更します.
まずdocker-composeファイルを修正します.もちろん、新しいデータベース・サービスを作成するためです.もちろん進行中のdb設定についても書きます.

docker-compose.yml🏄‍♀


以前作成したdocker-composeファイルです
変更前
version: "3"

services:
  app:
    build:
      context: .
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: 
      sh -c python manage.py runserver 0.0.0.0:8000"
今はゆっくりアシスタントを変えて
まずservicesの下でappを定義し、同じラベルにdbという名前を付けます.イメージ名も付けて重要なenvironmentを定義しました環境設定セクションdepends_on部分は、サービス間の依存関係を順次開始させることができる.
すなわち、db컨테이너를 완전히 구동된 다음에 이후 app컨테이너가 돌아가게되어야하는데요.は一般にこのような順序で動作せず、追加の符号化が必要である.この部分はすぐに紹介します
変更後
version: "3"

services:
  app:
    build:
      context: .
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: 
      sh -c "python manage.py wait_for_db && 
              python manage.py migrate &&
              python manage.py runserver 0.0.0.0:8000"
    environment:
      - DB_HOST=db
      - DB_NAME=app
      - DB_USER=postgres
      - DB_PASS=supersecretpassword
    depends_on:
      - db


  db:
    image: postgres:10-alpine
    environment:
      - POSTGRES_DB=app
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=supersecretpassword
ポイント・ツー・ポイント・ファイルの作成方法