Golang は、最も人気のある最新のプログラミング言語の 1 つであり、その強力な同時実行制御機能と簡潔な構文により、Web アプリケーション、ネットワーク サービス、クラウド コンピューティングの開発において非常に価値があります。 Docker は、アプリケーションを迅速に構築、公開、実行するためのテクノロジーであり、アプリケーション全体とその依存関係をコンテナーにパッケージ化し、アプリケーションがさまざまな環境で安定して実行できるように強力なコンテナー管理機能を提供します。したがって、Golang と Docker を組み合わせてデプロイすると、アプリケーションをより柔軟に、開発、テスト、実稼働環境で移行およびデプロイするのに便利になります。
この記事では主にGolangとDockerのデプロイのプロセスと手順を紹介します。
Golang と Docker のデプロイを開始する前に、次の点を含むいくつかの準備を行う必要があります:
アプリケーションのデプロイにはDockerを使用したいので、最初にDockerをインストールする必要があります。 Docker のインストールについては、Docker の公式ドキュメントを参照してください。
デプロイする前に、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 Hub または他のプライベート イメージ リポジトリにアップロードする必要があります。 Docker イメージを構築する手順は次のとおりです:
Dockerfile ファイルは、Docker イメージを構築するために使用されるスクリプト ファイルであり、Docker イメージの構築に必要なすべてのコマンドが含まれています。イメージを構築します。以下は、Dockerfile の簡単な例です。
# 指定基础镜像,这里使用了 Golang 官方镜像 FROM golang # 将本地应用程序复制到容器的 /app 目录中 ADD . /app # 指定容器启动时要运行的命令 ENTRYPOINT /app/main # 暴露监听端口,和应用程序中的端口保持一致 EXPOSE 8080
上記の Dockerfile は、基本イメージを Golang 公式イメージとして指定し、ローカル アプリケーションをコンテナーの /app ディレクトリにコピーし、コンテナーの起動時に実行するコマンドを指定します。開始します。/app/main
です。同時に、アプリケーションによって監視されているポートも公開され、ホストのネットワーク インターフェイスを介してポートにアクセスできるようになります。
次のコマンドを使用して Docker イメージを構築します:
docker build -t my-golang-app .
このコマンドは、Docker イメージを使用して現在のディレクトリに Dockerfile ファイルを構築します。 my-golang-app
にはイメージの名前を指定します。
完成した 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 でアプリケーションを起動する手順は次のとおりです:
Golang アプリケーションの Docker イメージを Docker Hub またはプライベート イメージ リポジトリからプルします:
docker pull username/my-golang-app
次のコマンドを使用して Docker イメージを実行します:
docker run -d -p 8080:8080 username/my-golang-app
このコマンドは、username/my-golang-app## という名前の Docker イメージを実行します。 # 、イメージが実行されるホスト ポート 8080 をコンテナ内の 8080 ポートにマップします。 Docker コンテナが起動したら、ホストの http://localhost:8080/ にアクセスして Golang アプリケーションにアクセスできます。
以上がGolang と Docker を組み合わせてデプロイするプロセスと手順について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。