Docker パッケージング ノード プロジェクトのプロセスの説明

Docker パッケージング ノード プロジェクトのプロセスの説明

バックエンド プログラマーとして、フロントエンドのものをいじらなければならないこともあります。そこで、上司からフロントエンド プロジェクトを Docker パッケージにパッケージ化するように依頼されました。さあ、無駄な話はやめましょう。 dockerパッケージをインストールするには、まずdockerfileが必要なので、まずdockerを記述しましょう。

Dockerファイル

daocloud.io/node:7 より
メンテナー abel.yang <[email protected]>
LABEL 説明="この画像は Web 用に作成されています"
mkdir -p /opt/apps/epp を実行します。
コピー . /opt/apps/epp
ワークディレクトリ /opt/apps/epp/epp-web/server
環境言語 C.UTF-8
ENV TZ=アジア/上海
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
エクスポーズ3001
CMD [ "npm", "start" ]

さて、Dockerfile が記述され、イメージ作成コマンドが実行されます。

myeppwebは私が入力したミラーの名前です

次のコマンドを実行して docker build を実行します。
// 注意。忘れないでください。

起動する

この時点で、docker imagesを実行して、正常にパッケージ化されたイメージを表示します。

起動コマンドを実行します。

docker run -d -p 3001:3001 myeppweb

分析する

さて、dockerfileのコマンドを説明しましょう

daocloud.io/node:7のイメージをベースにイメージをパッケージ化します。

daocloud.io/node:7 より

これはメンテナーの情報です。

メンテナー abel.yang <[email protected]>
LABEL 説明="この画像は Web 用に作成されています"

フォルダーを作成し、現在のフォルダー内のすべてのファイルを新しいフォルダーに移動します。 (現在のフォルダにあるファイルはフロントエンドの実行可能コードです。npm run start と入力するだけでコードを実行できます)

mkdir -p /opt/apps/epp を実行します。
コピー . /opt/apps/epp

現在のパスを設定します。つまり、後続のすべてのコマンドはこのパスで実行されます。

ワークディレクトリ /opt/apps/epp/epp-web/server

ミラー時間とタイムゾーンを設定する

環境言語 C.UTF-8
ENV TZ=アジア/上海
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

公開ポート

エクスポーズ3001

ノードを起動する

CMD [ "npm", "start" ]

さて、この記事ではパッケージングのプロセスのみを記録します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Springboot マイクロサービス パッケージング Docker イメージ プロセスの分析
  • SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)
  • Docker を使用して Web プロジェクトをデプロイし、イメージ ファイルにパッケージ化する方法の詳細な説明
  • jib を使用して Docker イメージをパッケージ化する
  • Dockerコンテナの基本システムイメージのパッケージ化の詳細な説明
  • docker pythonでパッケージングを実装する方法
  • Docker パッケージの Python コマンドの詳細な説明
  • Dockerコンテナを更新、パッケージ化、Alibaba Cloudにアップロードする方法

<<:  jsはテーブルの追加と削除の操作を動的に実装します

>>:  Vueはログインタイプの切り替えを実装します

推薦する

React イベントバインディングの詳細

目次クラスコンポーネントイベントバインディング関数コンポーネントイベントバインディング要約するRea...

Linux で起動時にプログラムを自動的に実行させる最も簡単な方法

たくさん集めましたが、すべて失敗に終わりました。最終的に、この方法は優れており、使用に影響を与えない...

JS に依存せずにレスポンシブ レイアウトを実現する CSS3 モバイル vw+rem メソッド

1. はじめに(1)vw/vhの紹介使用する前に、vw と rem とは何か、その機能について簡単に...

node.jsのインストールとHbuilderXの設定の詳細な説明

npm インストールチュートリアル: 1. Node.jsインストールパッケージをダウンロードする公...

Windows 2019 アクティベーション チュートリアル (Office2019)

数日前、Server2019の正式版がリリースされたことを知り、面白半分でインストールしてみることに...

CentOS8でyumソースを変更した後にウェアハウスキャッシュの同期に失敗する問題の詳細な説明

問題の原因: 最初は CentOS 8 のデフォルトの yum ソースを正常に使用できますが、次のコ...

UbuntuにProtobuf 3をインストールするための詳細なチュートリアル

いつインストールするかprotoc コマンドを使用しても Protoc が見つからない場合は、インス...

HTML テーブル タグ チュートリアル (36): テーブル ヘッダーの背景色属性 BGCOLOR

<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...

Javascript 共通高階関数の詳細

目次1. 一般的な高階関数1.1、フィルター1.2、地図1.3、減らすHigher Order fu...

tinyMCEの使い方と体験の詳細な説明

tinyMCE の使用方法の詳細な説明初期化TinyMCE を初期化するときは、ページの HEAD ...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

Echatsチャートの大画面適応を実装する方法

目次説明する成し遂げるプロジェクトのディレクトリ構造は次のとおりです。効果図は以下のとおりです要約す...

JSはビデオの再生速度を制御するための簡単なサンプルコードを実装します

導入以前、ある問題に気づきました。学習ビデオを視聴しているとき、動きが遅すぎる、先生が黒板に書くのに...

CSS最適化スキルの自己実践体験

1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...

Vueはメニューナビゲーションを実装するためにelement-uiを使用します

この記事では、Element-uiを使用してメニューナビゲーションを実装するVueの具体的なコードを...