Dockerを使用してAngularプロジェクトをデプロイする方法

Dockerを使用してAngularプロジェクトをデプロイする方法

Docker を使用して Angular プロジェクトをデプロイする方法は 2 つあります。1 つは、公式ドキュメントに記載されているサーバー側レンダリングです。もう 1 つは、ノード イメージをコンパイルして Web サーバーに配置する方法です。ノード環境なので、Express を使用するのが最も便利です。

server.jsを作成する

定数 express = require('express');

express() は、定数です。
定数設定 = {
  ルート: __dirname + '/dist',
  ポート: process.env.PORT || 4200
};

//静的リソース app.use('/', express.static(config.root));

//すべてのルートはindex.htmlに移動します
app.all('*', 関数(req, res) {
  res.sendfile(config.root + '/index.html');
});
app.listen(config.port, () => {
  console.log("実行中……");
})

Dockerfileを作成する

ノード:13.3.0-alpine3.10 から

環境変数ポート=4200\
  NODE_ENV=本番

# expressとangular/cliをインストールします
npm install [email protected] -g \ を実行します。
  && npm インストール -g @angular/cli
# アプリディレクトリを作成する RUN mkdir -p /app
# コードをAppディレクトリにコピーします。COPY ./app
ワークディレクトリ /app

# 依存関係をインストールしてプログラムをビルドします。サブディレクトリにリバースプロキシする必要があるため、base-hrefパラメータを追加します。RUN npm install && ng build --base-href /manage/ --prod

${PORT} を公開する

エントリポイント ["node", "/app/server.js"]

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker で Tomcat および Java アプリケーションをデプロイする詳細な手順
  • Docker を使用して Web プロジェクトをデプロイし、イメージ ファイルにパッケージ化する方法の詳細な説明
  • Docker に Node.js アプリケーションを素早くデプロイするための詳細な手順
  • Docker に Python の Flask フレームワークをデプロイするチュートリアル
  • Docker 学習ノート k8s デプロイ方法
  • Docker で MySQL サービスをデプロイする方法と、遭遇する落とし穴
  • tomcatのDocker自動デプロイの詳しい説明
  • Go をセットアップして Docker でアプリケーションをデプロイする方法の詳細な説明
  • Dockerを使用してNextCloudネットワークディスクを展開する方法
  • Docker ベースの Zabbix のインストールと展開

<<:  Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する

>>:  WeChatアプレットwebViewにH5を埋め込む方法の例

推薦する

Linux での Python スクリプトの自動起動とスケジュール起動の詳細な手順

1. Pythonは起動時に自動的に実行されますPython の自己起動スクリプトがauto.pyで...

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボッ...

CSSをインポートする方法に関する詳細な洞察の要約

CSS の開発履歴についてはここでは紹介しません。ブログを書いている理由の 1 つは、フロントエンド...

Javascript 文字列メソッドの詳細な説明

目次文字列の長さ: 長さcharAt() charCodeAt()文字列に値が含まれているかどうかを...

安全な構成のためにDockerでTLSを有効にする手順

序文以前、Docker の 2375 Remote API を有効にしていました。会社のセキュリティ...

Centos7 で ZooKeeper3.4 ミドルウェアを構築するための一般的なコマンドの概要

1.ダウンロードして解凍する1. Zookeeperの紹介分散サービス フレームワークとして、Zoo...

フロントエンドの vue+express ファイルのアップロードとダウンロードの例

新しいserver.jsを作成する糸初期化 -y 糸を追加エクスプレスノードモン -D var ex...

Linux でファイルプレフィックスを一括で追加する方法

フォルダー内のすべての txt ファイルのファイル名の前に「gt_」を追加する必要があります。つまり...

CSS変数を使用してスタイルを変更する方法の例

質問js を使用して CSS 疑似クラス スタイルを変更するにはどうすればよいでしょうか?しかし、j...

CentOS 8.4 に Docker をインストールする詳細なチュートリアル

目次序文:システム要件:インストール環境:古いバージョンをアンインストールします: yum は具体的...

MySQL テーブルスペースとは何ですか?

今日皆さんにお伝えしたいトピックは、「皆さんがよく話題にするテーブル スペースとは一体何でしょうか。...

初心者向けのHTMLタグネストルールの詳細なまとめ

最近、HTML を再度学習しており、これは HTML に対する新たな理解と言えます。これを過小評価し...

Vueはプルダウンとスクロールでデータを読み込む例を実装しています

目次ステップ1: インストールステップ2: 引用ステップ3: 使用Webプロジェクトでは、データを読...

CSS で 3D ブック効果を実装するためのサンプル コード

さっそく、レンダリングを見てみましょうソースコードは以下のとおりです <!DOCTYPE ht...

MySQL 接続数を設定する方法 (接続数が多すぎる)

mysql使用中に接続数が超過していることが判明しました~~~~ [root@linux-node...