Go-Gin アプリケーションを docker でコンテナ化しましょう!


Go-Gin アプリケーションを docker でコンテナ化しましょう!

Maheshwar Ligard の写真
Maheshwar Ligard 2023 年 7 月 17

<
>
3 分で読む
はじめに
ここに画像の説明を挿入

導入

コンテナ化は、アプリケーションをパッケージ化してデプロイするための一般的な方法となっています。最も人気のあるコンテナ化プラットフォームの 1 つである Docker を使用すると、開発者はアプリケーションをどこでも実行できる軽量でポータブルなコンテナに簡単にパッケージ化できます。この記事では、Docker を使用して Jin Framework アプリケーションをコンテナ化する方法について説明します。

前提条件

このチュートリアルを進めるには、次のものが必要です。

コンピューターにインストールされている Go プログラミング言語

コンピューターにインストールされている Docker

Jin フレームワーク アプリケーションを構築する

まず、Docker を使用してコンテナ化する単純な Jin Framework アプリケーションを作成しましょう。以下は、単純な Jin フレームワーク アプリケーションの例です。

package main

import (
    "net/http"

    "github.com/gin-gonic/gin"
)

func main() {
    
    
    r := gin.Default()

    r.GET("/", func(c *gin.Context) {
    
    
        c.JSON(http.StatusOK, gin.H{
    
    
            "message": "Hello, world!",
        })
    })

    r.Run(":8080")
}

このアプリケーションは、ルート URL 上の GET リクエストに JSON メッセージで応答する単純な HTTP サーバーを作成します。

このコードを という名前のファイルに保存します。それでは、このアプリケーションを構築してみましょう。メイン.ゴー

go mod init example.com/hello
go mod tidy
go build

これらのコマンドは、アプリケーションの Go モジュールを作成し、必要な依存関係をダウンロードして、アプリケーションをビルドします。これで、 という名前の実行可能ファイルが作成されました。こんにちは

Dockerfileの作成

Jin Framework アプリケーションを構築したので、アプリケーションの Docker イメージを構築できる Dockerfile を作成しましょう。

ファイルと同じディレクトリに次の内容の新しいファイルを作成します。

Dockerfilemain.go
FROM golang:1.16-alpine AS build

WORKDIR /app
COPY . .

RUN go mod download
RUN go build -o /app/hello

FROM alpine:latest

WORKDIR /app
COPY --from=build /app/hello .

CMD ["./hello"]

この Dockerfile は 2 段階のビルド プロセスを指定します。最初の段階では、公式の Golang Docker イメージをベース イメージとして使用し、アプリケーション コードをディレクトリにコピーします。次に、必要な依存関係をダウンロードし、アプリケーションを構築します。第 2 段階では、公式の Alpine Linux イメージをベース イメージとして使用し、第 1 段階で生成された実行可能ファイルをディレクトリにコピーします。最後に、コンテナーの起動時にアプリケーションを実行するコマンドを指定します。/アプリ/アプリ

Dockerイメージを構築する

Gin フレームワーク アプリケーションの Docker イメージを構築するには、次のコマンドを実行する必要があります。

docker build -t gin-example .
このコマンドは、現在のディレクトリにあるイメージを使用して、その名前で新しいイメージを構築するように Docker に指示します。gin-exampleDockerfile

Dockerコンテナを実行する

アプリケーション用の Docker イメージを構築したので、次のコマンドを使用してコンテナー内でそれを実行できます。

docker run -p 8080:8080 gin-example
このコマンドは、イメージから新しいコンテナーを実行し、コンテナーのポート 8080 をホストのポート 8080 にマップするように Docker に指示します。ジンの例

すべてが正常であれば、Web ブラウザで http://localhost:8080 に移動して、Gin フレームワーク アプリケーションにアクセスできるはずです。

結論は

この記事では、Docker を使用して Jin Framework アプリケーションをコンテナ化する方法を検討しました。シンプルな Jin Framework アプリケーションを作成し、アプリケーションの Docker イメージを構築するための Dockerfile を作成しました。

これがお役に立てば幸いです!

おすすめ

転載: blog.csdn.net/abc54250/article/details/130736542