ホームページ  >  記事  >  バックエンド開発  >  Golang と Docker を組み合わせてデプロイするプロセスと手順について話しましょう

Golang と Docker を組み合わせてデプロイするプロセスと手順について話しましょう

PHPz
PHPzオリジナル
2023-04-04 16:13:57664ブラウズ

Golang は、最も人気のある最新のプログラミング言語の 1 つであり、その強力な同時実行制御機能と簡潔な構文により、Web アプリケーション、ネットワーク サービス、クラウド コンピューティングの開発において非常に価値があります。 Docker は、アプリケーションを迅速に構築、公開、実行するためのテクノロジーであり、アプリケーション全体とその依存関係をコンテナーにパッケージ化し、アプリケーションがさまざまな環境で安定して実行できるように強力なコンテナー管理機能を提供します。したがって、Golang と Docker を組み合わせてデプロイすると、アプリケーションをより柔軟に、開発、テスト、実稼働環境で移行およびデプロイするのに便利になります。

この記事では主にGolangとDockerのデプロイのプロセスと手順を紹介します。

準備作業

Golang と Docker のデプロイを開始する前に、次の点を含むいくつかの準備を行う必要があります:

1. Docker のインストール

アプリケーションのデプロイにはDockerを使用したいので、最初にDockerをインストールする必要があります。 Docker のインストールについては、Docker の公式ドキュメントを参照してください。

2. Golang アプリケーションを作成する

デプロイする前に、Golang アプリケーションを作成し、ローカルで正常に実行できることを確認する必要があります。ここでは例として、HTTP リクエストをリッスンし、リクエストされたパラメータをクライアントに返すために使用される簡単なサンプル プログラムを示します。

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, %s!", r.URL.Path[1:])
    })

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

上記のコードを main.go ファイルとして保存します。 , コマンド go run main.go を使用すると、アプリケーションをローカルで起動できます。

アプリケーションの Docker イメージを構築する

アプリケーションを作成した後、それを Docker イメージにパッケージ化し、さまざまな環境で使用できるように Docker Hub または他のプライベート イメージ リポジトリにアップロードする必要があります。 Docker イメージを構築する手順は次のとおりです:

1. Dockerfile ファイルの作成

Dockerfile ファイルは、Docker イメージを構築するために使用されるスクリプト ファイルであり、Docker イメージの構築に必要なすべてのコマンドが含まれています。イメージを構築します。以下は、Dockerfile の簡単な例です。

# 指定基础镜像,这里使用了 Golang 官方镜像
FROM golang

# 将本地应用程序复制到容器的 /app 目录中
ADD . /app

# 指定容器启动时要运行的命令
ENTRYPOINT /app/main

# 暴露监听端口,和应用程序中的端口保持一致
EXPOSE 8080

上記の Dockerfile は、基本イメージを Golang 公式イメージとして指定し、ローカル アプリケーションをコンテナーの /app ディレクトリにコピーし、コンテナーの起動時に実行するコマンドを指定します。開始します。/app/main です。同時に、アプリケーションによって監視されているポートも公開され、ホストのネットワーク インターフェイスを介してポートにアクセスできるようになります。

2. Docker イメージを構築する

次のコマンドを使用して Docker イメージを構築します:

docker build -t my-golang-app .

このコマンドは、Docker イメージを使用して現在のディレクトリに Dockerfile ファイルを構築します。 my-golang-app にはイメージの名前を指定します。

3. Docker イメージのアップロード

完成した Docker イメージは、Docker Hub または他のプライベート イメージ ウェアハウスにアップロードして、さまざまな環境にデプロイできます。 Docker Hub を例として、次のコマンドを使用して Docker イメージをアップロードします。

docker login
# 输入 Docker Hub 的用户名和密码进行登录

docker tag my-golang-app username/my-golang-app
# 将本地的镜像打上标签并指定上传到 Docker Hub 上的仓库

docker push username/my-golang-app
# 上传 Docker 镜像到 Docker Hub 上

この時点で、Golang アプリケーションの Docker イメージの構築とアップロードが完了しました。

Docker でのアプリケーションの実行

Docker イメージの構築とアップロードが完了したら、Docker でアプリケーションを開始できます。 Docker でアプリケーションを起動する手順は次のとおりです:

1. Docker イメージをプルします

Golang アプリケーションの Docker イメージを Docker Hub またはプライベート イメージ リポジトリからプルします:

docker pull username/my-golang-app

2. Docker イメージを実行します

次のコマンドを使用して Docker イメージを実行します:

docker run -d -p 8080:8080 username/my-golang-app

このコマンドは、username/my-golang-app## という名前の Docker イメージを実行します。 # 、イメージが実行されるホスト ポート 8080 をコンテナ内の 8080 ポートにマップします。 Docker コンテナが起動したら、ホストの http://localhost:8080/ にアクセスして Golang アプリケーションにアクセスできます。

概要

この記事では、Docker を使用して Golang アプリケーションをデプロイする方法を紹介します。準備作業、アプリケーションの作成、Docker イメージの構築、イメージのアップロード、イメージの実行を正常に完了した後、アプリケーションのデプロイメントは、 Docker テクノロジーは、アプリケーションを迅速に構築、公開、実行できるだけでなく、アプリケーションの安定性とスケーラビリティを向上させ、アプリケーションの開発と運用および保守のプロセスに大きなメリットをもたらします。

以上がGolang と Docker を組み合わせてデプロイするプロセスと手順について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。