最近、アプリケーションの開発において「コンテナ」という言葉をよく聞くようになりました。特に、Go言語とDockerの組み合わせは人気があります。このブログ記事では、Go言語を使ってDockerでコンテナ化されたアプリケーションを開発する方法を初心者向けに解説します。
Go言語(ゴーげんご)は、Googleによって開発されたプログラミング言語です。高速でありながらシンプルな文法を持ち、特にサーバーサイドの開発に適しています。Go言語の大きな特徴は、並行処理が得意であることです。これは、同時に複数の処理を実行できるため、効率的なアプリケーションを作るのに役立ちます。
Dockerは、アプリケーションを「コンテナ」という独立した環境で実行するためのプラットフォームです。コンテナを使うことで、開発環境と本番環境の違いを気にせずにアプリケーションを動かすことができます。また、Dockerを使うことで、簡単にアプリケーションを配布したり、スケールアップしたりすることができます。
Go言語とDockerを組み合わせることで、アプリケーションの開発がよりスムーズになります。それぞれのメリットを活かし、効率的に開発や運用を行うことができるからです。
まずは、Go言語とDockerの開発環境を準備しましょう。以下の手順で進めてみてください。
brew install go
brew install --cask docker
次に、簡単なGoアプリケーションを作ってみましょう。以下のコードを`main.go`というファイル名で保存してください。
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, Docker!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
次に、Dockerでこのアプリケーションをコンテナ化するための`Dockerfile`を作成します。以下の内容を`Dockerfile`という名前で保存してください。
FROM golang:1.20
WORKDIR /app
COPY . .
RUN go build -o myapp .
CMD ["/app/myapp"]
次に、Dockerでアプリケーションをビルドして実行します。以下のコマンドを実行してみてください。
docker build -t go-docker-app .
docker run -p 8080:8080 go-docker-app
この記事では、Go言語とDockerを使ってコンテナ化されたアプリケーションを開発する基本的な流れを紹介しました。この流れを理解して、実際に手を動かしながら学んでいくことで、より深い理解が得られるでしょう。