こんにちは、KOUKIです。
Go言語のフレームワークであるfiberをDocker環境上で動かす方法を記事にしました。
尚、Udemyの「React, NextJS and Golang: A Rapid Guide – Advanced」コースを参考にしています。解釈は私が勝手に付けているので、本物をみたい場合は受講をお勧めします!
<目次>
前提
- Macで動作検証
- Go/Docker/docker-composeがローカルPCにインストールされていること
- Chromeを使う
事前準備
以下のディレクトリとファイルを用意してください。
1 2 3 4 5 6 7 |
mkdir go-admin cd go-admin/ go mod init admin touch main.go go get github.com/gofiber/fiber/v2 touch Dockerfile touch docker-compose.yml |
main.goには、次のコードを実装します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import "github.com/gofiber/fiber/v2" func main() { app := fiber.New() app.Get("/", func(c *fiber.Ctx) error { return c.SendString("Hello, World 👋!") }) app.Listen(":3000") } |
Docker化
Docker環境を構築していきましょう。
Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
FROM golang:1.16 WORKDIR /app # go mod init xxx でgo.modファイルを作成しておくこと COPY go.mod . COPY go.sum . # go modからパッケージをダウンロード RUN go mod download # /app にすべてのコードをコピー COPY . . # エントリポイント CMD ["go", "run", "main.go"] |
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 |
version: "3.3" services: backend: # docker-composeファイルと同階層のDockerfileをビルド build: . ports: # ローカル:Docker - 8000:3000 # DockerとローカルのFSをマウント volumes: - .:/app |
確認
以下のコマンドを実行して、動作確認をしましょう。
1 2 3 4 5 6 7 8 9 10 11 12 |
docker-compose up backend_1 | backend_1 | ┌───────────────────────────────────────────────────┐ backend_1 | │ Fiber v2.11.0 │ backend_1 | │ http://127.0.0.1:3000 │ backend_1 | │ (bound on host 0.0.0.0 and port 3000) │ backend_1 | │ │ backend_1 | │ Handlers ............. 2 Processes ........... 1 │ backend_1 | │ Prefork ....... Disabled PID ............... 158 │ backend_1 | └───────────────────────────────────────────────────┘ backend_1 | |
Chromeから「localhost:8000」へアクセスをしましょう。以下の画面が表示されたら成功です。

OKですね。
おわりに
Dockerを使うと簡単にアプリケーション実行環境を構築することができるので、めちゃくちゃ便利です。
また、Goのフレームワークであるfiberのベンチマークがめちゃくちゃ速そうなので、こちらも大注目ですね。
それでは、また!
次回
次回は、MySQLの導入とマイグレーション方法について学びましょう。
コメントを残す
コメントを投稿するにはログインしてください。