Skip to content

russmedia/sample-nodejs-app

Repository files navigation

sample-nodejs-app

Sample application in nodejs for learning Docker and docker-compose.

Build application

docker build -t russmedia/sample-nodejs-app:0.0.1 .

Build and run with docker-compose

docker-compose up --build

Extend the image

  1. Change container user
  • run
docker build -t russmedia/sample-nodejs-app:0.0.1 .
docker-compose up -d # run container
docker ps # check what containers are running
docker exec -it sample-nodejs-app_app_1 whoami # check what user is container run as
  • add line to Dockerfile (before EXPOSE 3000):
RUN adduser --disabled-password russmedia
USER russmedia
  • run
docker build -t russmedia/sample-nodejs-app:0.0.1 .
docker-compose up -d # run container
docker exec -it sample-nodejs-app_app_1 whoami # check what user is container run as
  1. Pass arguments to build and use them as envs
  • add line to Dockerfile (after FROM node:10-alpine):
ARG user=missing_user
ENV USER_NAME=$user
  • run
docker build -t russmedia/sample-nodejs-app:0.0.1  --build-arg user=towa .
docker-compose up -d # run container
docker exec -it sample-nodejs-app_app_1 env | grep USER

Multi-stage docker image

  • run
docker build -t russmedia/sample-nodejs-app:0.0.1-multistage -f Dockerfile-multistage .
  • change in docker-compose.yaml image to russmedia/sample-nodejs-app:0.0.1-multistage and run:
docker-compose up

About

For testing purpose

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors