ホームページ  >  記事  >  バックエンド開発  >  Docker+Golang を使用して Web アプリケーションをデプロイする方法

Docker+Golang を使用して Web アプリケーションをデプロイする方法

PHPz
PHPzオリジナル
2023-04-06 09:11:06643ブラウズ

Docker と Golang は、現在最も注目されている 2 つのテクノロジーです。Docker はコンテナーテクノロジーの代表として、アプリケーションの便利なデプロイと管理を実現できます。Golang は、Web アプリケーションやシステムで広く使用されている効率的なプログラミング言語です。プログラム開発。この記事では、Docker と Golang を使用して Web アプリケーションのデプロイを実装する方法を紹介します。

1. Docker のインストール

Docker のインストールは非常に簡単で、公式サイトから対応プラットフォームのインストールパッケージをダウンロードしてインストールします。インストールが完了したら、docker コマンドを実行して、インストールが成功したかどうかを確認できます。

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

単純な Golang Web アプリケーションを作成しましょう。コードは次のとおりです:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, Docker and Golang!")
}

このプログラムは単純な HTTP サーバーです。ポート 8080 に接続し、ハンドラー関数を通じてクライアント要求に応答します。これで、このプログラムをローカルで実行し、ブラウザを使用して http://localhost:8080 にアクセスすると、ページに「Hello, Docker and Golang!」という文が表示されることがわかります。

3. Docker イメージの作成

Docker では、イメージにはアプリケーションのすべての依存関係とファイルが含まれており、任意の Docker コンテナー上で実行できます。 Golang アプリケーションをパッケージ化して任意の Docker コンテナ上で実行できるように、Docker イメージを作成する必要があります。

まず、Dockerfile という名前のファイルを作成し、その中に次のコンテンツを定義する必要があります。

FROM golang:alpine
COPY . /app
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]

この Dockerfile は、アルパイン イメージに基づいて Docker コンテナを定義し、アプリケーションのコピーを / に配置します。アプリのディレクトリ。次に、 go build コマンドを実行してアプリケーションをコンパイルし、コンパイルされたバイナリ ファイルに main という名前を付けます。最後に、CMD 命令を使用して、コンテナーの実行時、つまりアプリケーションの実行時に呼び出されるコマンドを指定します。

次に、 docker build コマンドを使用して Docker イメージを作成する必要があります。コマンドは次のとおりです:

docker build -t my-golang-app .

このコマンドは、現在のディレクトリで Dockerfile ファイルを実行し、生成されたファイルに名前を付けますイメージ my-golang-app。

4. Docker コンテナを実行する

これで、my-golang-app という名前の Docker イメージがすでに作成されました。docker run コマンドを使用してコンテナを実行できます。コマンドは次のとおりです。 :

docker run -p 8080:8080 my-golang-app

このコマンドは、現在のマシン上で Docker コンテナを起動し、コンテナ内の 8080 ポートをホストの 8080 ポートにマップします。これで、ブラウザで http://localhost:8080 にアクセスできるようになり、ページに「Hello, Docker and Golang!」という文が表示され、プログラムが Docker コンテナ内で正常に実行されたことがわかります。

5. 概要

この記事では、Docker イメージの作成や Docker コンテナーの実行など、Docker と Golang を使用して Web アプリケーションをデプロイする方法を紹介します。この記事の導入により、読者は Golang アプリケーションを Docker イメージとしてパッケージ化し、任意の Docker コンテナ上でプログラムを実行する方法を理解できたと思います。

以上がDocker+Golang を使用して Web アプリケーションをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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