知識への依存
もちろん、何も知らなくても、これらの手順に従って展開を完了することもできます。ただし、途中で小さな問題が発生した場合、解決方法がわからない場合があります。もちろん、メッセージを残すこともできます。 私は Mac で開発とテストを行いました。Windows の場合は多少の違いがあるかもしれませんが、大きな問題にはならないはずです。 1. 環境への依存
2. GoLangウェブプログラムを書く ここでは最も単純な hello world プログラムを記述します。リスニング ポートはポート 80 です。 パッケージメイン 輸入 ( 「fmt」 "ログ" 「ネット/http」 ) sayHello関数(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "こんにちは世界") } 関数main() { http.HandleFunc("/", sayHello)//URI パスと対応する処理関数を登録します log.Println("[既定のプロジェクト] サービスはポート 80 のリッスンを正常に開始しました") er := http.ListenAndServe("0.0.0.0:80", nil) er != nil の場合 { log.Fatal("ListenAndServe: ", er) } } 3. Linuxでパッケージにコンパイルする 私はこれを Mac で開発し、go のクロスコンパイルを使用する必要がありました。クロスコンパイルに慣れていない場合は、ドキュメントを確認するか、以下のコマンドをコピーしてコンパイルしてください。 sudo env GOOS=linux GOARCH=386 ビルド main.go コンパイルが完了すると、ローカルに 4. Dockerfileを使用してgoプログラムのイメージをカスタマイズする 新しいフォルダーを作成し、その中に新しい 。 ├── Dockerファイル ├── アプリ │ └── メイン └── スクリプト └──build.sh 以下は Golangから メンテナー Qianyi WORKDIR /go/src/ コピー 。 。 エクスポーズ80 コマンド ["/bin/bash", "/go/src/script/build.sh"] 説明は次のとおりです。 内容をここに貼り付けます: #!/usr/bin/env バッシュ cd /go/src/app/ && ./main この2行だけです。 5. 独自のイメージをコンパイルする これは docker build -t go-web を実行します。
上記の出力を見ると、コンパイルが成功し、ローカル イメージに 6. docker-compose.ymlファイルを書く これが最後のステップです。先ほどコンパイルした バージョン: '2' ネットワーク: 基本: サービス: 世界: コンテナ名: ワールド 画像: go-web ポート: - 「8099:80」 ボリューム: - ./app/go/world:/go/src/app:rw ネットワーク: - 基本 この時点で、オーケストレーション ファイルが書き込まれました。次に、 docker-compose -f docker-compose.yml アップ -d ワールド 次のプロンプトが出力された場合、起動は成功したことを意味します。 世界を作成中...完了 起動に成功したら、 ドッカーps 起動が成功したか確認してみましょう。 これで、 Docker イメージをベースにした Go プロジェクトをデプロイする手順については、これで終わりです。Docker イメージを使用した Go プロジェクトのデプロイの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linux で MySQL データベースのデータ ファイル パスを変更する手順
ファイルの切り替えは Linux でよく行われる操作です。Linux を初めて学ぶときに最初に触れる...
一般的に: [重要なフラグ1つ] > [特別なフラグ4つ] > 宣言順!importan...
目次原因理由NPM の紹介: CNPM の紹介:より良い方法方法の改善npm と cnpm を一緒に...
Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...
1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...
序文エージェントの役割は何ですか? - 複数のドメイン名が同じサーバーに解決される- 1つのサーバー...
効果画像: 実装コード: <テンプレート> <div id="map&q...
目次1. インターフェース定義2. 属性2.1 オプション属性2.2 読み取り専用プロパティ3. ク...
前の章では、1 つのテーブルからデータを読み取る方法を学習しました。これは比較的簡単ですが、実際のア...
最近、Apple の記者会見を見てとても興奮したので、Mac システムを体験して Apple の素晴...
目次概要0. JavaScriptとWeb開発の基礎1. Vueの基本概念Vue コア機能コンポーネ...
MySql での時間比較の実装unix_timestamp() unix_timestamp 関数は...
目次1. 基本的な文法2. 条件式によるフィルタリング3. 論理式によるフィルタリング4. あいまい...
この記事では、フロントエンドのカウントダウン効果を実現するためのJavaScriptの具体的なコード...
目次遷移フック関数カスタム遷移クラス名遷移グループの使用まとめまずは例を見てみましょうコードは次のと...