序文 プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。ここではデプロイの要点と手順をまとめて記録します。dockerの導入とインストールについては詳しく説明しません。インターネット上には関連するチュートリアルや記事もたくさんあります。必要に応じて検索して閲覧できます。 プロジェクト構造 `--docker-node |-- データ |-- サーバー |-- アプリ.js |-- Dockerファイル |-- プロセス.yml |-- パッケージ.json docker-compose.yml は、 1. Node.jsプログラムを作成する アプリ 定数 express = require('express'); express() は、定数です。 app.get('/', (req, res) => res.send('hello world!')); アプリをリッスンする(3008); 2. Dockerfileを作成する ノード:8.9-alpineから mkdir -p /usr/src/app を実行します。 ワークディレクトリ /usr/src/app npm set registry を実行します https://registry.npm.taobao.org/ npmインストールを実行 コマンド ["./node_modules/pm2/bin/pm2-docker", "process.yml"] Dockerfile から、pm2-docker を介してノード アプリケーションを実行していることがわかります。PM2 を使用すると、ファイルの変更を監視して、アプリケーションの再起動、ログの保存、その他の効果を実現できます。ここでは、process.yml 構成ファイルが必要です。関連する使用方法については、PM2 ドキュメントを参照してください。 プロセス.yml アプリ: - スクリプト: 'app.js' 名前: 'dokcer-node' 実行モード: 'フォーク' ウォッチ:本当 インスタンス: 1 ログ日付フォーマット: 'YYYY-MM-DD HH:mm Z' ignore_watch: ['node_modules'] 3. docker-compose.ymlを作成する 実稼働環境では、複数のコンテナを使用することがよくあります。構成ファイルを使用して複数の Docker コンテナを管理し、docker-compose を使用してアプリケーションを起動、停止、再起動することができます。 ドッカーの作成 バージョン: "3.0" サービス: サーバーノード: コンテナ名: サーバーノード 建てる: コンテキスト: ./server ボリューム: - ./server:/usr/src/app ポート: - 「3008:3008」 環境: - TZ=アジア/上海 ポーター: 画像: portainer/portainer:1.11.4 コンテナ名: ポーテナー さらす: - 「9000」 ポート: - 「9000:9000」 ボリューム: - /var/run/docker.sock:/var/run/docker.sock - ./data/portainer:/data 環境: - TZ=アジア/上海 4. コンテナを起動する 上記のファイルが作成されたら、次のコマンドを実行してイメージを作成し、コンテナを起動します。 $ docker-compose -f docker-compose.yml アップ -d 5. テスト 1. ローカルポート3008にアクセスする 2. コードが変更されたときのノードの自動再起動機能をテストします。「hello world!」を「restart!!!!」に変更し、ページを再度更新します。 3. Portainer を使用してコンテナを管理します。コマンドラインと比較して、ビジュアル インターフェイスを使用すると、コンテナのログ、コンテナの構成、ステータスを簡単かつ迅速に表示し、コンテナを再起動および削除できます。ローカル ポート 9000 (docker-compese.yml で構成) にアクセスでき、結果は次のようになります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: WeChatアプレット認証ログインを処理するエレガントな方法
>>: YUM を使用して Linux (CentOS 7) に MySQL 5.7.18 をインストールする方法の詳細なチュートリアル
この記事では、大画面ページのスクリーンアダプテーションを実現するためのVueの具体的なコードを参考ま...
Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...
目次1. インストール2.APi 3. react-beautiful-dnddemo 3.1dem...
Web ページのデザインに関する質問です。すべてに答えられるでしょうか? 1. 単一選択の質問 (...
序文この章では、基本的な Linux 関数と epoll 呼び出しを使用して、Linux 上で実行で...
Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...
1.VirtualBoxソフトウェアをダウンロードしてインストールするまず、VirtualBox の...
序文以前のプロジェクトでは、SQL の CASE WHEN ソート関数が使用されました。ではブログメ...
目次問題の説明:解決策1解決策2問題の説明:ページ A と B の 2 つがあり、各ページにはget...
HTML は Hypertext Markup Language の略です。現在、ほとんどの Web...
Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...
目次Object.defineProperty メソッドのレビューデータブローカーとは何ですか? V...
LocalStorageはブール値を保存します今日、ブール値データを保存するために localsto...
データベースに関して最もよく聞かれる質問の 1 つは、現在のビジネス ニーズを満たす MySQL の...
この記事では、MySQL テーブル データのインポートおよびエクスポート操作について説明します。ご参...