Dockerを用いたGoの環境構築 (original) (raw)
やりたいこと
Dockerを利用して、Go言語(Gin)の環境構築を行いたい。
手順
ファイル構成
. ├── app │ ├── go.mod │ ├── go.sum │ └── main.go ├── Dockerfile │── docker-compose.yml └── README.md
Dockerfileの作成
GoのDockerfileを作成
FROM golang:1.18
RUN apt-get update && apt-get install -y git WORKDIR /go/src/app COPY ./app .
CMD ["go", "run", "."]
docker-compose.ymlを作成
今後DB連携などを考えdocker-composeを用いる。
version: "3" services: app: container_name: ir-backend build: context: . dockerfile: ./Dockerfile tty: true volumes: - ./app:/go/src/app ports: - 8080:8080
appフォルダの作成
appフォルダを作成し、移動する。
mkdir -p ./app cd ./app
Goモジュールを初期化する
go mod init helloworld
Ginをインストール
go get -u github.com/gin-gonic/gin
main.goを作成
localhost:8080にアクセスした時にHello World
をJSON形式で返すようにする。
package main
import ( "github.com/gin-gonic/gin" )
func main() { router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World",
})
})
router.Run(":8080")
}
起動
下記コマンドで起動する。
docker compose up --build
localhost:8080に接続し、{"message": "Hello World"}
がかえってきたら成功