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

推薦する

MySQL 8.0.23 無料インストールバージョンの設定詳細チュートリアル

最初のステップは、MySQL 8.0.23の無料インストールバージョンをダウンロードすることです。 ...

JavaScript オブジェクトの 3 つのプロパティ

目次1. 書き込み可能: 書き込み可能2. 列挙可能: 列挙可能3. 設定可能: 設定可能オブジェク...

Tencent Cloud で HTTPS を無料で導入する方法

最近、WeChatアプレットを書いていたとき、WeChatアプレットではすべてのリクエストインターフ...

Vueはキー表示のショートカットキー効果を取得する入力コンポーネントを実装します

ページ上でショートカットキーをカスタマイズする要件に遭遇し、ショートカットキーを設定して表示する場所...

mysql5.7.19 winx64 インストールおよび構成方法のグラフィック チュートリアル (win10)

mysql 5.7.19 winx64のインストールチュートリアルは以下のように記録され、みんなと...

MySQLでデータテーブルを作成するときにエンジンMyISAM/InnoDBを設定する

mysql を構成するときに、構成ファイル内のデフォルトのストレージ エンジンを InnoDB に設...

JavaScript が Jingdong のカルーセル効果を模倣

この記事では、JD.comのカルーセル効果の表示を実現するためのJavaScriptの具体的なコード...

JavaScriptはXiaomi Mall公式サイトの完全なページ実装プロセスを模倣します

目次1. ホームページ制作1. ダウンロードアプリの制作2. ナビゲーションバーの制作3. カルーセ...

Alibaba Cloud OSS によってアップロードされた Nginx プロキシ転送実装コード

序文ミニプログラムのアップロードには https が必要なので、サーバーの https は lets...

Linux にソフトウェアをインストールするときにソフトウェア パッケージが存在しない問題を解決する方法

ソフトウェア パッケージが存在しない場合は、インストールされているソフトウェアのソフトウェア ソース...

HTMLでは、全体的なスタイルとレイアウトを崩さずに、部分的に強制スクロールバーを使用できます。

まずはエフェクト画像を投稿します:全体的なスタイルとレイアウトが崩れないように、スクロール バーがロ...

DockerはGitを使用してJenkinsのリリースとテストプロジェクトの詳細なプロセスを実装します

目次1. Dockerをインストールする2. カスタムネットワークアドレスを作成する3. Docke...

MySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細な説明

1. クラスター化インデックステーブル データはインデックスの順序で保存されます。つまり、インデック...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

史上最もクリエイティブな404ページのデザインは、ウェブサイトのユーザーエクスペリエンスを効果的に向上させます

ウェブを閲覧しているときに 404 ページに遭遇することはあまりないので、見落としがちです。しかし、...