LoginSignup
5
5

More than 1 year has passed since last update.

Dockerを使ってサクッとGoアプリケーション構築

Last updated at Posted at 2020-10-10

はじめに

Dockerを使ってGo言語の開発環境を構築し、アプリケーションを動作するまでの手順をまとめました。

ファイル作成

mkdir go_project
cd go_project
touch main.go
touch Dockerfile

ファイル修正

main.go
// サーバーアプケーションとして動作し、以下の挙動をします。
// ●どんなHTTPリクエストに対しても「Hello Docker!!」とレスポンスする
// ●8080ポートでサーバアプリケーションとして動作する
// ●クライアントからリクエストを受けた際は、received requestのログを標準出力に表示する
package main

import (
	"fmt"
	"log"
	"net/http"
)

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter,r *http.Request) {
		log.Println("received request")
		fmt.Fprintf(w, "Hello Docker!!")
	})

	log.Println("start server")
	server := &http.Server{Addr: ":8080"}
	if err := server.ListenAndServe(); err != nil {
		log.Println(err)
	}
}
FROM golang:1.9

RUN mkdir /echo
COPY main.go /echo
CMD ["go", "run", "/echo/main.go"]

イメージのビルド

docker image build -t go_project .

イメージの確認

docker image ls

コンテナの起動

docker run -d -p 9000:8080 go_project

GETリクエストの確認

Hello Docker!! が返って来ることを確認します。

curl http://localhost:9000
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5