今日のソフトウェア開発業界では、コンテナ化テクノロジーの人気が高まっているソリューションです。現在最も人気のあるコンテナ化ツールとして、Docker は移植性の高さ、軽量さ、ポータビリティなどのさまざまな利点で広く認識されています。同時に、Golang は最新の高性能プログラミング言語として、ますます多くの開発者に愛されています。この記事では、Golang と Docker を使用してアプリケーションをデプロイする方法を説明します。
ステップ 1: Golang アプリケーションを作成する
まず、Golang アプリケーションを作成する必要があります。ここでは、Golang によって実装された単純な Web サービスを例に挙げます。コードは次のとおりです:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", helloHandler) // 注册路由 http.ListenAndServe(":8080", nil) // 启动 HTTP 服务 } func helloHandler(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "Hello Docker and Golang!") }
ここのアプリケーションは、起動後にポート 8080 をリッスンし、このポートで単純な応答メッセージを提供します。
ステップ 2: Docker イメージを作成する
Docker ホストへのデプロイを容易にするために、Golang アプリケーションを Docker イメージにパッケージ化する必要があります。 Docker イメージを作成する前に、Golang アプリケーション用の Dockerfile 構成ファイルを作成する必要があります。
# Dockerfile FROM golang:alpine WORKDIR /go/src/app COPY . . RUN go build -o app EXPOSE 8080 CMD ["/go/src/app/app"]
上記の Dockerfile は次のステップに分かれています:
Golang で記述された Alpine イメージに基づいて新しいイメージを作成します。
アプリケーションが配置されているソース コード ディレクトリをコンテナの /go/src/app
パスにコピーします。
CMD ["/go/src/app/app"] です。
$ docker build -t my-go-app:v1 .
my-go-app という名前のイメージ バージョン
v1。
ステップ 3: Docker コンテナを実行する
Docker イメージを作成した後、コンテナを起動する必要があります。次のコマンドを使用して、my-go-app イメージを開始します。
$ docker run -d -p 8080:8080 my-go-app:v1
my-go-app イメージを開始するために使用されます。 Docker コンテナーを作成し、コンテナー内の 8080 ポートをホスト (つまり、ローカル マシン) の 8080 ポートにマップします。
-d はコンテナがバックグラウンドで実行されることを意味し、
-p はポート マッピングを意味します。このコマンドを実行すると、ローカル マシン上のサービスにアクセスできるようになります。たとえば、ブラウザで
http://localhost:8080 にアクセスすると、アプリケーションの応答メッセージを確認できます。
ステップ 4: Docker イメージをアップロードする
Docker イメージをローカルで構築した後、作業を容易にするために、それを Docker Hub または独自のプライベート ウェアハウスにアップロードする必要もあります。他の Docker ホストへのアプリケーションのデプロイメント。 Docker Hub にログインする必要があります。つまり、次のコマンドを実行する必要があります:$ docker login
$ docker tag my-go-app:v1 username/my-go-app:v1 $ docker push username/my-go-app:v1
my-go-app:v1 はローカルで構築したイメージのバージョン、
username は Docker Hub アカウント名です。
ステップ 5: リモート ホストに Docker イメージをデプロイする
イメージを Docker Hub にアップロードした後、他のマシンのアプリにイメージをデプロイできます。まず、リモート ホストに Docker 環境をインストールする必要があります。 Docker をインストールした後、次のコマンドを実行して、リモート マシン上の Docker Hub または他のプライベート ウェアハウスにアップロードされたイメージをプルできます。$ docker pull username/my-go-app:v1
概要
上記の 5 つの手順を通じて、Golang と Docker を使用してアプリケーションをデプロイする方法を正常に紹介しました。現在、Docker は最新のアプリケーションの開発と配信のための主要なソリューションの 1 つとなっています。そのため、Docker を活用して Golang アプリケーションをデプロイすることで、構成の問題や環境の問題を大幅に軽減し、アプリケーションの移植性の高いパフォーマンスとスケーラビリティを実現できます。以上がGolang と Docker を使用してアプリケーションをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。