個人システム開発記録1 環境構築-バックエンド編

Git

ローカルの開発環境を作る

開発環境:Windows11

vscode、Docker on Windowsをインストール後、vscodeに以下のExtensionを入れる。

次のようにディレクトリを構成する。

以後、system_○○をVS Code上でReopen in Containerなどを使って実行環境を整備する。

(別に仮想環境でもいいけど、最後はDockerImageにしてデプロイするので)

バックエンド環境のDockerfileを記述する

まずは簡単な環境をビルドして環境を動かしてみるために、Dockerfileを記述

FROM python:3.11-buster

RUN mkdir workspace

WORKDIR /workspace

RUN pip install -U pip

次にdocker-compose.ymlを編集

services:
 system-python-apbe:
    build: .
    volumes:
      - ~/workspace/my_dev/pdf_chatbot/docker_dev_env/system_be:/workspace
    tty: true

docker-composeにバックエンド、フロント、インフラなどのコンテナの関係などを記述していくため、ネットワークなどの設定(環境変数やプロキシ)はここに書きます。

社内システムの場合はdocker-compose.ymlの中にHTTPS_PROXYなどの環境変数設定が必要になることがあります。

Dockerfileができれば以下のようにコンテナをvscode経由で立ち上げ→接続までやってくれます。(別に手動でも可)

(画像用意)

とスムーズにいかずにビルドでこけて、permission関係のエラーが出ているので以下サイトを参考に修正

MacでのDockerビルド時に buildx/current: permission denied が出たときの解決法 - Qiita
事象M1 Macでdockerのビルドを実行したときに以下のエラーが出ました。$ docker-compose buildopen /Users/{user_name}/.docker/bui…

Docker関連の管理は普通であればDocker for Windowsが使い勝手がいいのだが、いろいろと弄りすぎたのか自分の環境ではDocker for Windowsが起動してくれないので手動でコマンドをポチポチ押してます。

といっても、docker compose up -dとするだけですが。

というわけで正しくvscodeが立ち上がったら左下にこのようにコンテナ名が表示されているかと思います。

同様に今後、フロント開発用の環境、functionsなどを使うであろうインフラ開発環境などをDockerで整備することにします。

この開発環境をDockerで整備するやり方の利点として、ほぼそのままクラウドサービスにデプロイしてリリースすることができるという点です。

もちろん、本格的な開発になればdev, staging, productのように若干の差異がビルド時に発生しますが、基本は同じなので今回は特に分けずに行こうと思います。

今回はここまで、ありがとうございました。

GitLinuxサーバーWSL日常
スポンサーリンク
Toufuをフォローする

コメント

タイトルとURLをコピーしました