Simple todo list application to demonstrate docker
Make sure you have the following or newer versions:
- node: 22.x (LTS)
- npm: 10.x (or yarn 1.22+)
Install dependencies:
$ yarn install --productionStart Application:
$ node src/index.jsBuild docker image:
$ docker build . -t todo-appGet all images from local repository:
$ docker imagesRun docker container:
$ docker run -dp 3000:3000 --name todo-app todo-appCheck running containers:
$ docker psCheck running and stopped containers:
$ docker ps -aStop docker container:
$ docker stop todo-appStart docker container:
$ docker start todo-appRemove docker container:
$ docker rm todo-appStop and remove docker container:
$ docker rm -f todo-appGet a bash shell into a running container:
$ docker exec -it todo-app /bin/shGet logs of a running container:
$ docker logs todo-appLogin to dockerhub:
$ docker loginTag your image with your newly created repo:
$ docker tag todo-app <my-dockerhub-username>/todo-app:latestPush image to dockerhub:
$ docker push andrikoz/todo-app:latestCreate a docker volume:
$ docker volume create todo-dbDelete a docker volume:
$ docker volume rm todo-dbCheck docker volumes:
$ docker volume lsUse docker volume with todo-app container:
$ docker run -dp 3000:3000 -v todo-db:/tmp/todos --name todo-app todo-appStart applications with docker-compose:
$ docker-compose up -dOptimized Dockerfile:
FROM node:22-alpine
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install --production
COPY . .
CMD ["node", "src/index.js"]