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を埋め込む方法の例

推薦する

VueはBaidu Mapsを使用して都市の位置特定を実現

この記事では、参考までに、Baidu Mapsを使用して都市の位置特定を実現するVueの具体的なコー...

Linux 時間サブシステムの時間表現例の詳細な説明

序文Linux カーネルでは、元のコードとの互換性を保つため、または特定の仕様に準拠するため、また現...

spring-boot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装します [完全なソース コードのダウンロード付き]

Docker入門Docker はオープンソースのアプリケーション コンテナ エンジンです。従来の仮...

Linux での MySQL 5.7.18 yum のアンインストールからインストールまでのプロセスの図

いろいろ苦労しましたが、やっと yum インストールの手順がわかりました。以前、バイナリ パッケージ...

jsでライトスイッチの効果を実現

この記事の例では、ライトスイッチ効果を実現するためのjsの具体的なコードを参考までに共有しています。...

Vueは商品詳細ページの商品タブ機能を実装します

この記事の例では、商品詳細ページ機能を実現するためのVueの商品タブの具体的なコードを参考までに共有...

MySQL InnoDB のロック機構の詳細な説明

前面に書かれたデータベースは本質的に共有リソースであるため、同時アクセスのパフォーマンスを最大化する...

Dockerプライベートウェアハウスレジストリの導入

使用される Docker イメージが増えるにつれて、イメージを保存する場所、つまりウェアハウスが必要...

Typora コードブロックのカラーマッチングとタイトルシリアル番号実装コード

効果: タイトルには独自のシリアル番号があり、コードブロックには配色があり、コードブロックの左上隅に...

docker CMD/ENTRYPOINT が sh スクリプトを実行する問題の解決策: not found/run.sh:

Dockerfile の設定に問題はありませんが、ENTRYPOINT コマンドを実行するとエラー...

完全なMySQL学習ノート

目次MyISAM と InnoDBパフォーマンスの低下と SQL の速度低下の理由: MySQL 実...

ウェブデザイナーのウェブデザイン学習経験とスキルのまとめ

会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...

VMware での Ubuntu Docker のインストール (コンテナ構築)

1. マインドマップ 2. コンテナの構築方法2.1 実験環境の準備(1)環境選択管理ツール: D...

HTML テーブル タグ チュートリアル (34): 行スパン属性 ROWSPAN

複雑なテーブル構造では、一部のセルが水平方向に複数のセルにまたがるため、行間属性 ROWSPAN を...

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...