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はログインタイプの切り替えを実装します

推薦する

Springboot+Vue-Cropperでアバターの切り取りとアップロードの効果を実現

アバターをアップロードするにはVue-Cropperコンポーネントを使用します。参考までに具体的な内...

VUEをベースにしたシンプルな学生情報管理システムの実装

目次1. 主な機能2. 実装のアイデア3. コードの実装4. エフェクト表示V. 結論1. 主な機能...

Pure CSS と Flutter はそれぞれブリージング ライト効果を実現します (サンプル コード)

前回、非常に熱心なファンから、月を呼吸する光の効果にできるかどうか尋ねられました。月の大きさの写真が...

VS2022 リモート デバッグ ツールの使い方

WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...

複数サーバーの負荷分散を実現するためのNginx構成

Nginx ロード バランシング サーバー: IP: 192.168.0.4 (Nginx-Serv...

Sublime / vscode による HTML コード生成の迅速な実装

目次基本的なHTML構造div とクラス名のショートカット キーを生成するクラス名を持つdiv ID...

Linux カーネル デバイス ドライバー カーネル時間管理に関する注意事項

/****************** * Linux カーネルの時間管理 ***********...

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

MySQLのorder byとlimitを混在させる際の落とし穴の詳細な説明

MySQL では、ソートには order by を、ページングには limit をよく使用します。最...

JS 4つの楽しいハッカー背景効果コードを共有する

目次例1例2例3例4例1 <html> <ヘッド> <title>...

MySQL 5.7.17 winx64 のインストールと設定のチュートリアル

今日、MySQL データベースをコンピューターに再度インストールしました。システムを再インストールす...

CSS における px、em、rem、pt の特徴、違い、変換について詳しく説明します。

コンセプト紹介: 1. px (ピクセル):仮想的な長さの単位で、コンピュータ システムのデジタル画...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...

今日は、珍しいけれど役に立つJSテクニックをいくつか紹介します

1. 戻るボタンhistory.back() を使用してブラウザの「戻る」ボタンを作成します。 &l...

VMware 仮想マシンに固定 IP アドレスを設定する方法 (グラフィック チュートリアル)

1. メニューバーで「編集」→「仮想ネットワーク エディター」を選択して仮想ネットワーク エディタ...