GO + PostgreSQL での開発を、Docker と Air により快適なものとするためのテンプレートリポジトリです。
Go で開発する API サーバー用のコンテナと、PostgreSQL による DB 用のコンテナを Docker Compose により立ち上げます。また、Air によるホットリロードのおかげで、Go のソースコードに対する変更は、立ち上げている API サーバー用のコンテナに反映されます。
詳しい説明については、こちらの記事を参照してください。
本リポジトリを用いて Go を試してみる場合には、以下の手順通りに環境構築してください。 もし、テンプレートとしてリポジトリを作成する場合には、go.mod 内のモジュール名や、docker コンテナ名などは適宜修正してお使いください。
- Dockerをインストール
- 本リポジトリをクローンするか、本リポジトリをテンプレートとして選択してリポジトリを作成する
docker network create api-db-network
docker network create db-pgadmin-network
docker compose build
下記コマンドで docker コンテナを起動する。これにより、開発中の API サーバー、Postgres の DB コンテナ、データベースを GUI 操作できる PGAdmin、の 3 つのコンテナが立ち上がる
docker compose up
docker コンテナを閉じる
docker compose down
テンプレートでは、API サーバは localhost:8080
、 PgAdmin は localhost:81
で立ち上がる
テンプレートでは、以下のライブラリやフレームワークを使用していますが、開発者各自の判断で使いたいライブラリ等は追加してください。
- Go
- Gin
- Air
- PostgreSQL
- PgAdmin
- Docker