How to deploy Angular project using Docker

How to deploy Angular project using Docker

There are two ways to deploy Angular projects with Docker. One is server-side rendering, which is described in the official documentation. The other is to compile the node image and put it into the web server. Since we are in the node environment, it is most convenient to use express.

Create server.js

const express = require('express');

const app = express();
const config = {
  root: __dirname + '/dist',
  port: process.env.PORT || 4200
};

//Static resources app.use('/', express.static(config.root));

//All routes go to index.html
app.all('*', function (req, res) {
  res.sendfile(config.root + '/index.html');
});
app.listen(config.port, () => {
  console.log("running……");
})

Create Dockerfile

FROM node:13.3.0-alpine3.10

ENV PORT=4200 \
  NODE_ENV=production

# Install express and angular/cli
RUN npm install [email protected] -g \
  && npm install -g @angular/cli
# Create the app directory RUN mkdir -p /app
# Copy the code to the App directory COPY ./app
WORKDIR /app

# Install dependencies and build the program. Since I need to reverse proxy to a subdirectory, I add the base-href parameter RUN npm install && ng build --base-href /manage/ --prod

EXPOSE ${PORT}

ENTRYPOINT ["node", "/app/server.js"]

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Detailed steps to deploy tomcat and java applications in docker
  • Detailed explanation of how to use Docker to deploy a web project and package it into an image file
  • Detailed steps for quickly deploying Node.js applications on Docker
  • Tutorial on deploying Python's Flask framework on Docker
  • Docker learning notes k8s deployment method
  • Methods for deploying MySQL services in Docker and the pitfalls encountered
  • Detailed explanation of Docker automatic deployment of tomcat
  • Detailed explanation of how to set up Go and deploy applications in Docker
  • How to deploy nextcloud network disk using docker
  • Installation and deployment of Zabbix based on Docker

<<:  Problems with changing password and connecting to Navicat when installing and using MySQL 8.0.16 under Windows 7

>>:  Example of how to embed H5 in WeChat applet webView

Recommend

Tutorial on using prepare, execute and deallocate statements in MySQL

Preface MySQL officially refers to prepare, execu...

Configure Java development environment in Ubuntu 20.04 LTS

Download the Java Development Kit jdk The downloa...

Vue realizes the card flip effect

This article example shares the specific code of ...

Detailed tutorial on MySql installation and uninstallation

This article shares the tutorial of MySql install...

Example of how to quickly build a LEMP environment with Docker

LEMP (Linux + Nginx + MySQL + PHP) is basically a...

Detailed example of reading speed of js objects

1. Accessing literals and local variables is the ...

A brief discussion on how to choose and combine div and table

Page layout has always been my concern since I st...

Detailed explanation of when javascript scripts will be executed

JavaScript scripts can be embedded anywhere in HT...

In-depth analysis of MySQL indexes

Preface We know that index selection is the work ...

How to install MySQL 5.7 on Ubuntu and configure the data storage path

1. Install MySQL This article is installed via AP...

Example of converting webpack images to base64

Download url-loader yarn add -D url-loader module...

Detailed explanation of the difference between tags and elements in HTML

I believe that many friends who are new to web pag...

Detailed tutorial of using stimulsoft.reports.js with vue-cli

vue-cli uses stimulsoft.reports.js (nanny-level t...