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

推薦する

Linuxロスレス展開方法

概要クラウド プラットフォームのお客様のサーバーでは、業務量が拡大し続けるとディスク容量が不足する場...

VC6.0をWIN10にインストールすると使用できない問題の解決方法

VC6.0は確かに古すぎるVC6.0は昔の開発ツールです。現在のwin10では対応していません。しか...

etcd クラスターをデプロイするための docker-compose の実装手順

目次docker-compose.ymlを書くdocker-composeを実行するビルドステータス...

GitHub のサードパーティ認証方式を Vue で実装する例

目次OAuth アプリの作成コードを取得するaccess_tokenを取得するユーザー情報を取得する...

TypeScriptのインストールと使用方法と基本的なデータ型

最初のステップはTypeScriptをグローバルにインストールすることですnpmを使用してインストー...

Vue3はCSSの無限シームレススクロール効果を実装します

この記事では、CSS無限シームレススクロール効果を実現するためのvue3の具体的なコードを参考までに...

Vue デフォルトスロットの理解とサンプルコード

目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...

XHTML 入門チュートリアル: XHTML ハイパーリンク

ハイパーリンクはインターネット全体を接続していると言っても過言ではありません。ハイパーリンクは、別の...

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

Vuex データの永続性を実装するためのアイデアとコード

vuexとはvuex: vue.js専用に開発された状態管理ツールで、すべてのコンポーネントの状態を...

MySql データベースにリモートでログインするにはどうすればよいですか?

はじめに: プロジェクトを開発するために、サーバーに MySql データベース サーバーを展開し、ロ...

Linux サービス管理の 2 つの方法、service と systemctl の詳細な説明

1.サービスコマンドサービスコマンドは実際には/etc/init.dディレクトリに移動し、関連プログ...

divの背景を透明に設定する方法の例

div の背景を透明にする一般的な方法は 2 つあります。 1. 不透明度属性を 0 ~ 1 の値に...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

js で継承を実装する 5 つの方法

コンストラクタの借用この手法の基本的な考え方は単純です。サブタイプ コンストラクター内からスーパータ...