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

推薦する

Postman に基づく HTTP インターフェース テスト プロセスの分析

偶然、素晴らしい人工知能のチュートリアルを発見したので、みんなと共有せずにはいられませんでした。この...

MySQLがサブクエリと結合の使用を推奨しない理由

ページ分割されたクエリを実行するには: 1. MySQL の場合、サブクエリと結合の使用は推奨されま...

nginx-ingress-controller ログ永続化ソリューションのソリューション

最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

VMware15 centos7 ブリッジモード ssh に突然アクセスできなくなる問題を解決する

仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...

MySQL 5.6 圧縮パッケージのインストール方法

MySQL には、msi インストールと zip 解凍の 2 つのインストール方法があります。 zi...

親ページの更新を制御するために HTML で iframe を実装するためのアイデアとコード

1. 応用シナリオ親ページ a.jspサブページ b.jsp (ページ a に埋め込まれた ifra...

CSS でよく使用されるフォントサイズ、フォント単位、行の高さの詳細な説明

px(ピクセル)ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとし...

Nodeはバックエンドの実装手順を素早く構築します

1. まず、node、express、express-generator をインストールします (4...

Linux での stat 関数と stat コマンドの使用法の詳細な説明

stat 関数と stat コマンドLinux ファイル内の [inode = インデックス ノード...

MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?

目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

JS はシンプルなカレンダー効果を実装します

この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...

Dapr を使用してマイクロサービスをゼロから簡素化する例

目次序文1. Dockerをインストールする2. Dapr CLIをインストールする3. Net6 ...

メッセージボードにメッセージを追加および削除するための JavaScript

この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細...