Docker環境構築の備忘録

に公開

Docker 環境の構築について

大学へ進学し、本格的に開発するようになりました。
この度、授業で開発するアプリケーションで Docker コンテナ を使用することになったので備忘録としてまとめます。

既存の記事を github 連携しているので更新頻度が高いです。スパムや AI 生成記事ではないので、ご了承ください!

  1. Docker コンテナにおける PostgreSQL の運用
  • Dockerfile
FROM python:3.12

WORKDIR /code

COPY ./requirements.txt /code/requirements.txt

RUN pip install -r /code/requirements.txt

COPY ./src /code/src

CMD ["uvicorn", "src.api.main:app", "--reload",  "--host", "0.0.0.0", "--port", "5001"]
  • docker-compose.yml
version: "3"
services:
    api:
        container_name: phisical-computing-api
        build: .
        depends_on:
            - db
        environment:
            DATABASE_URL: ${DATABASE_URL}
        ports:
            - "5001:5001"
        restart: unless-stopped
        volumes:
            - ./src:/code/src
    db:
        container_name: phisical-computing-db
        image: postgres:16-alpine
        environment:
            POSTGRES_DB: phisical_computing
            POSTGRES_USER: phisical_computing
            POSTGRES_PASSWORD: STRONG_DB_PASSWORD
        restart: unless-stopped
        volumes:
            - db_data:/var/lib/postgresql/data
volumes:
    db_data:
  • PostgreSQL への接続
docker exec -it phisical-computing-db psql -U phisical_computing -d phisical_computing
  • psql への接続
docker exec -it phisical-computing-db psql -U phisical_computing -d phisical_computing
  • 本プロジェクトのテーブル確認
\d question
  • テーブルの中身確認
SELECT * FROM question
  • テーブルのリネーム
ALTER TABLE {tabel_old_name} RENAME TO {table_new_name};
  • カラムの追加
ALTER TABLE {table_name} ADD COLUMN {column_name} {data_type};
  • カラムの削除
ALTER TABLE {table_name} DROP COLUMN {column_name};
  • カラムのリネーム
ALTER TABLE {table_name} RENAME COLUMN {column_old_name} TO {column_new_name};
  • シーケンスのリセット
ALTER SEQUENCE question_id_seq RESTART WITH 1;

この例では「question」テーブルの「id」カラムのシーケンスを 1 からリスタート

最近はフロントエンド開発のみならず、Python を用いたバックエンド的な開発も行っています。みなさんも Docker でエンジョイしましょう!!!(笑)

Author: uyuyu

GitHubで編集を提案

Discussion