背景
- kubernetes上でWebアプリを動かす際に、ローカルでコンテナの開発環境が欲しかった
記事のゴール
- ローカルのマシン上で Django + Nginx + Postresql + Pgadmin のコンテナが起動できている
- コンテナ上でDjangoのpythonファイルを編集できる
- コンテナ上のPgadminを使ってPostgresqlのDBを操作できる
- ローカルのコンテナ上で、NginxをプロキシとしたDjango+PostgresqlのWebアプリの動作確認ができる
前提
- 端末はMac M2チップ(Windowsやmacのintelチップでも動くはず)
- vs codeが端末にインストールされていること
- Docker Desktopが端末にインストールされていること
構築方法
拡張機能インストール
VS Codeで以下の拡張機能をインストールする
- Dev Containers
- Remote - SSH: Editing Configuration Files
資材の準備
-
github に用意したので
git clone
して入手 - github の README にもコンテナ起動までの手順を記載している
環境起動
- Docker Desktopを起動する
-
git clone https://github.com/yamamuratkr/vscode_docker.git
でローカルに資材をダウンロード - VS Codeを起動する
- VS Codeの「フォルダーを開く...」で
git clone
したvscode_docker/docker/webapp
を開く - 「コンテナで再度開く」をクリックするとコンテナが起動する
- Docker Desktopを確認するとコンテナが起動している様子が確認できる
接続確認
Djangoへの接続
- ブラウザで以下のURLを入力してDjangoアプリに接続確認
Pgadminへの接続
- ブラウザで以下のURLを入力してPgadminに接続確認
- メールアドレスとパスワードは
docker-compose.yaml
のenviorment
に記載されている - 適宜変更して再度コンテナを起動すると新しいメールアドレスとパスワードでログインできる
まとめ
- ローカル環境でDjango+Nginx+Posgresql+Pgadminのコンテナを起動する方法を紹介した
- 起動までは割と簡単に辿り着ける
- これを開発環境として、Djangoを育てたり、Nginxをカスタマイズすることが可能
- この資材をベースに本番(Docker Compose, Kubernetes)で稼働させるアプリケーションの開発が可能となる(開発したコンテナイメージの build & push 方法と Kubernetes 環境で動かす方法は別の記事で(記事完成したらリンク貼ります))