3.

Docker + Go言語 + gRPC で簡単なWebアプリケーションを作る その1

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

※前提

Windows OS

Mac、Linux OSの場合は一部コマンドが異なりますので、その際は適宜変更してください。

 

1. Dockerのインストール:

  1. Docker Desktop for WindowsからDocker Desktopをダウンロードしてインストールします。

2. Go言語のインストール:

  1. Goの公式ウェブサイト からGoをダウンロードしてインストールします。

  2. PowerShellまたはコマンドプロンプトを開き、以下のコマンドでGoのモジュールを初期化します。

go mod init example.com/myproject

 

3. Protocol Buffersのインストール:

  1. Protocol Buffersのリリースページから protoc-win64.zip をダウンロードして解凍します。

  2. protoc コマンドのパスを通します。解凍したフォルダ内の bin ディレクトリのパスを環境変数に追加します。

  3. PowerShellまたはコマンドプロンプトを再起動して、以下のコマンドでGoのプロトコルバッファ用パッケージをインストールします。

go install google.golang.org/grpc@latest
go install github.com/golang/protobuf/protoc-gen-go@latest

 

4. サンプルアプリケーションの作成:

PowerShellまたはコマンドプロンプトを開き、プロジェクトのルートディレクトリに移動します。

cd \path\to\my-web-app

 

以下のディレクトリ構造を作成します。

my-web-app
├── main.go
├── pb
│   └── greeter.proto
└── Dockerfile

 

main.go ファイルに以下のコードを追加します。

// main.go

package main

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

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, this is a simple HTTP server!")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

 

 

pb/greeter.proto ファイルに以下のProtocol Buffersの定義を追加します。

// pb/greeter.proto

syntax = "proto3";

package pb;

message HelloRequest {
    string name = 1;
}

message HelloResponse {
    string message = 1;
}

service Greeter {
    rpc SayHello (HelloRequest) returns (HelloResponse);
}

 

 

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 .
docker run -p 8080:8080 my-web-app

ブラウザで http://localhost:8080 にアクセスして、"Hello, this is a simple HTTP server!"と表示されれば成功です。

これで、Windows環境で完全な手順を実行できるかと思います。お手数おかけしましたが、問題があればお知らせください。

 

子ページ
子ページはありません
同階層のページ
  1. Protocol Buffers
  2. 詳細説明付きクイックスタート
  3. Docker + Go言語 + gRPC で簡単なWebアプリケーションを作る その1

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。