Dockerize your Angular NodeJS application Dockerize your Angular NodeJS application docker docker

Dockerize your Angular NodeJS application


Using 2 docker containers is the best option in my opinion, single responsibility per container design is worth to follow.

It's very common having to create more than one container per project:

  • database
  • backend server
  • frontend server

One approach is create a folder for docker definitions and for each docker context, create an script docker_build.sh that prepares the docker context (copy all the artifacts required: libs, source code, etc) and finally make the docker build.

project_root/|----src/|----docker/|----|----angular/|----|----|-----Dockerfile|----|----|-----docker_build.sh|----|----nodejs/|----|----|-----Dockerfile|----|----|-----docker_build.sh       

An example of docker_build.sh

#!/bin/bash# create temp directory for buildingmkdir DockerBuildTempPath/# copy files to temp directorycp -arv Dockerfile DockerBuildTempPath/cp -arv ../../src/ DockerBuildTempPath/# ... etccd DockerBuildTempPath#build imagedocker build -t myapp .# remove temp directorycd ..rm -r ./DockerBuildTempPath/


Try jwilder/nginx-proxy(https://github.com/jwilder/nginx-proxy). I'm currently using it to host a main docker Nginx that proxys for all my other docker services.