Dockerfileを初期化する プロジェクトの名前が express であると仮定して、express プロジェクトで Dockerfile ファイルを作成して編集します。 $ vim Dockerファイル ノードから:最新 mkdir -p /home/www/express を実行します。 ワークディレクトリ /home/www/express コピー . /home/www/express npmインストールを実行 エクスポーズ3000 エントリポイント ["npm", "run"] CMD ["開始"] このファイルには次のコマンドが含まれています。
イメージを構築する Dockerfile ファイルを書き込んだ後、docker build コマンドを使用してイメージをビルドできます。 $ sudo docker build -t test/express 。 -t パラメータを使用して、イメージに test/express という名前を付けます。ビルド プロセスは次のようになります。 ビルドコンテキストを Docker デーモンに送信しています 29.7 kB ステップ 1/8: registry.src.followme.com:5000/node:v1 から ---> c99c549e8227 ステップ 2/8: mkdir -p /home/www/express-app を実行します ---> 8be9a90629b0 で実行中 ---> b9f584851225 中間コンテナ 8be9a90629b0 を削除しています ステップ 3/8: WORKDIR /home/www/express-app ---> 5072c31f9dd9 中間コンテナ e9dbf4ce3d8b を削除しています ステップ 4/8: コピー . /home/www/express-app ---> a4d1725f15ed 中間コンテナ 30aa49765015 の取り外し ステップ5/8:糸を通す ---> f181c243deaa で実行中 糸インストール v1.3.2 [1/4] パッケージを解決しています... [2/4] パッケージを取得しています... [3/4] 依存関係をリンクしています... [4/4] 新しいパッケージを作成しています... 9.46秒で完了しました。 ---> d390931d73e6 中間コンテナ f181c243deaa を削除しています ステップ 6/8: EXPOSE 3000 ---> 94101ab38864 で実行中 ---> 43199a8a5a90 中間コンテナ 94101ab38864 の削除 ステップ7/8: ENTRYPOINT npm run ---> 80b1318962cf で実行中 ---> 6b203c50e855 中間コンテナ 80b1318962cf を削除 ステップ 8/8 : CMD 開始 ---> a9909e537f59 で実行中 ---> d56eae48377c 中間コンテナを削除しています a9909e537f59 d56eae48377c の構築に成功しました コンテナの実行 イメージがビルドされたら、ビルドされたイメージを使用してコンテナを作成/実行し、Express アプリケーションの Docker デプロイを実現できます。 tets/express イメージを使用してコンテナを実行します。 $ sudo docker run -d --name experss-app -p 3000:3000 test/express 上記の操作では、コンテナを test/express イメージで実行し、コンテナに express-app という名前を付けました。コンテナを実行するときに、コンテナをバックグラウンドで実行するための -d パラメータも指定します。 -p パラメータは、ホストのポート 3000 をコンテナのポート 3000 にマッピングします。コンテナを実行した後、docker ps コマンドを使用して実行中のコンテナを確認できます。これで、localhost:3000 経由でサービスにアクセスできるようになりました。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Centos6.5 で MySQL 5.7.19 をインストールして設定する方法
この記事では、簡単なショッピングフォームを実装するためのJavaScriptの具体的なコードを参考ま...
RocketMQ は、Alibaba が設計した分散型のキューベースのメッセージング ミドルウェア...
XML/HTML コードコンテンツをクリップボードにコピー<入力 id = "ユーザ...
目次序文問題: 大きなファイルのコピーNodeJS のストリームとバッファバッファストリーム解決策 ...
私は通常、大手ウェブサイトの特別ページや製品リリースページを訪問するのが好きです。なぜなら、たくさん...
原理手ぶれ補正の原理は、イベントをトリガーすることはできますが、イベントがトリガーされてから n 秒...
<!doctypehtml> <html xmlns="http://...
目次使いやすいプロジェクトを作成するvue-cli 作成ヴィートクリエイションvue-routerを...
MySQL でデータやテーブルを削除するのは非常に簡単ですが、削除するとすべてのデータが消えてしまう...
原理としては、まずボタン付きの div を記述し、次に画面のサイズに応じて自動的に適応してキーボード...
目次1. 同期の原理2. ログスタッシュ入力JDBC 3. go-mysql-elasticsear...
MySQL サーバーをシャットダウンする場合、シャットダウン方法に応じてさまざまな問題が発生する可能...
HTML を初めて使用する多くの人にとって、テーブル <table> は最もよく使用され...
目次1. クライアントとサーバー間の通信方法2. クエリキャッシュ3. クエリ最適化処理4. クエリ...
1. 矢印関数1. 矢印関数自体はこれをバインドしないという事実を利用します。 2. render(...