ホームページ > バックエンド開発 > Golang > docker を使用して golang をデプロイする方法

docker を使用して golang をデプロイする方法

PHPz
リリース: 2023-04-05 14:16:15
オリジナル
1017 人が閲覧しました

今日のソフトウェア開発では、コンテナ化が非常に一般的な展開方法になっています。 Docker は、最も人気のあるコンテナ化ツールの 1 つです。 Docker では、さまざまなプログラミング言語を使用してアプリケーションを作成し、さまざまなクラウド プラットフォームにデプロイできます。今日は、Docker を使用して Golang で書かれたアプリケーションをデプロイする方法に焦点を当てます。

Golang は、特に Web アプリケーションやサーバーサイド アプリケーションの開発で非常に人気のある最新のプログラミング言語です。 Golang には、高性能、クロスプラットフォームのサポート、組み込みの同時実行サポートなどの多くの高度な機能があるため、Golang 開発者の数は増加しています。このため、Golang は最新のアプリケーションを作成するのに非常に理想的なプログラミング言語となっています。 Docker を使用して Golang アプリケーションをデプロイする方法を見てみましょう。

まず、Docker Hub から Golang の公式イメージを取得する必要があります。これは非常に簡単で、ターミナルに次のコマンドを入力するだけです:

docker pull golang:latest
ログイン後にコピー

これにより、Golang イメージの最新バージョンがダウンロードされ、インストールされます。ダウンロード プロセス中は辛抱強く待ち、インターネット接続が良好であることを確認してください。

次に、新しい Golang アプリケーションを作成します。ここでは、ウェルカム メッセージを表示する簡単な Web サイトを作成します。まず、フォルダーを作成し、その中に main.go という名前の新しいファイルを作成します。

mkdir myapp
cd myapp
touch main.go
ログイン後にコピー

次に、お気に入りのコード エディターを開いて、main.go ファイルを開きます。次に、次のように入力します。

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "欢迎来到我的网站!")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}
ログイン後にコピー

このプログラムは、Golang の標準ライブラリを使用して簡単な Web サイトを作成し、ルート URL にアクセスする人にウェルカム メッセージを送信します。 Golang コンパイラを使用して、それをバイナリ ファイルにコンパイルできます。ただし、ここでは Docker を使用してビルドして実行します。

次に、アプリケーションの構築と実行に必要なすべての手順を含む Dockerfile を作成する必要があります。 myapp フォルダーに新しい Dockerfile を作成します:

touch Dockerfile
ログイン後にコピー

次に、Dockerfile を開いて次の内容を入力します:

FROM golang:latest

WORKDIR /go/src/app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

CMD ["app"]
EXPOSE 8080
ログイン後にコピー

この Dockerfile が何をしているのか見てみましょう:

  • FROM golang:latest は、以前にダウンロードした Golang 公式イメージをベース イメージとして使用します。
  • WORKDIR /go/src/app は go/src/app という名前の作業ディレクトリを作成します。
  • COPY . .アプリケーション全体を作業ディレクトリにコピーします。
  • RUN go get -d -v ./... は、すべての依存関係 (存在する場合) をダウンロードしてインストールします。
  • RUN go install -v ./... はアプリケーションをコンパイルし、バイナリを /bin/app ディレクトリに配置します。
  • CMD ["app"] は、コンパイルしたばかりのバイナリをコンテナのメイン プロセスとして実行します。
  • EXPOSE 8080 はコンテナの 8080 ポートを公開し、ホストからこのポートにアクセスできるようにします。

これで、Docker イメージを構築する準備が整いました。これを行うには、ターミナルで myapp フォルダーに移動し、次のコマンドを実行します。

docker build -t myapp .
ログイン後にコピー

これにより、作成したばかりの Dockerfile を使用して、myapp という新しいイメージが構築されます。ビルドが完了したら、コンテナとして実行できます。

docker run -p 8080:8080 myapp
ログイン後にコピー

これにより、myapp という名前の新しいコンテナが作成され、ホストの 8080 ポートにマップされます。ブラウザで http://localhost:8080 を開くと、ウェルカム メッセージが表示されるはずです。

これで、Docker を使用して Golang アプリケーションをデプロイすることに成功しました。独自のコードを取得してコンテナに構築し、任意のクラウド プラットフォームにデプロイできます。 Docker のパワーと移植性により、コンテナ化されたアプリケーションが将来のトレンドとなり、アプリケーション開発者はビジネス ロジックの実装により集中できるようになります。

以上がdocker を使用して golang をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート