このプロジェクトは、Docker を使用して Golang と MySQL を連携させるシンプルな REST API のサンプルプロジェクトです。
├── Dockerfile
├── docker-compose.yml
├── go.mod
├── go.sum
├── main.go
└── README.md
git clone https://github.com/nguyenduykhanh159/golang-mysql-docker-project.git
cd golang-mysql-docker-project
docker-compose up --build
サーバーは http://localhost:8080 で動作します。
メソッド | エンドポイント | 説明 |
---|---|---|
GET | /items | すべてのアイテムを取得 |
POST | /items | 新しいアイテムを作成 |
GET | /items/{id} | ID に基づいてアイテムを取得 |
PUT | /items/{id} | ID に基づいてアイテムを更新 |
DELETE | /items/{id} | ID に基づいてアイテムを削除 |
- Golang イメージを使用してプロジェクトをビルド
- 必要なモジュールをインストール ポート 8080 を公開
- db サービス:MySQL コンテナ
- app サービス:Golang アプリケーションコンテナ
- Golang の REST API コード
- go-chi によるルーティング
- MySQL との接続・操作
- Docker コンテナの停止
docker-compose down
- Docker コンテナの再起動
docker-compose up -d
- コンテナのログ確認
docker-compose logs -f
-
docker-compose.yml
で MySQL のポート番号を 3306 にしています。他のアプリケーションと競合しないように注意してください。 -
Golang のコードを変更した場合は、再ビルドする必要があります。
docker-compose up --build
✅ Docker で Golang アプリケーションをコンテナ化
✅ Golang から MySQL への接続
✅ REST API の基本的な作成方法