タイトル: Docker + Go言語 + gRPC で簡単なWebアプリケーションを作る その1
SEOタイトル: Docker + Go言語 + gRPC で簡単なWebアプリケーションを作る その1
※前提
Windows OS
Mac、Linux OSの場合は一部コマンドが異なりますので、その際は適宜変更してください。
1. Dockerのインストール:
- Docker Desktop for WindowsからDocker Desktopをダウンロードしてインストールします。
2. Go言語のインストール:
-
Goの公式ウェブサイト からGoをダウンロードしてインストールします。
-
PowerShellまたはコマンドプロンプトを開き、以下のコマンドでGoのモジュールを初期化します。
go get -u google.golang.org/grpc go get -u google.golang.org/protobuf/cmd/protoc-gen-go |
3. Protocol Buffersのインストール:
-
Protocol Buffersのリリースページから protoc-win64.zip をダウンロードして解凍します。
-
protoc コマンドのパスを通します。解凍したフォルダ内の bin ディレクトリのパスを環境変数に追加します。
-
PowerShellまたはコマンドプロンプトを再起動して、以下のコマンドでGoのプロトコルバッファ用パッケージをインストールします。
go get -u google.golang.org/grpc |
4. サンプルアプリケーションの作成:
PowerShellまたはコマンドプロンプトを開き、プロジェクトのルートディレクトリに移動します。
cd \path\to\my-web-app |
以下のディレクトリ構造を作成します。
my-web-app |
main.go ファイルに以下のコードを追加します。
// main.go package main import ( func main() { log.Fatal(http.ListenAndServe(":8080", nil)) |
pb/greeter.proto ファイルに以下のProtocol Buffersの定義を追加します。
// pb/greeter.proto syntax = "proto3"; package pb; message HelloRequest { message HelloResponse { service Greeter { |
Dockerfile ファイルに以下のコードを追加します。
# Dockerfile FROM golang:latest WORKDIR /app COPY . . RUN go build -o main . EXPOSE 8080 CMD ["./main"] |
5. アプリケーションのビルドと実行:
PowerShellまたはコマンドプロンプトで以下のコマンドを実行します。
docker build -t my-web-app . |
ブラウザで http://localhost:8080 にアクセスして、"Hello, this is a simple HTTP server!"と表示されれば成功です。
これで、Windows環境で完全な手順を実行できるかと思います。お手数おかけしましたが、問題があればお知らせください。