=================================================== Working with docker command: - Run Alpine container with bash docker run -it alpine docker run -it alpine echo AAA - Run docker tutorial command (in docker) docker run -dp 80:80 docker/getting-started This demonstrates port mapping =================================================== Very basic Workflows docker images Dockerfile docker build -t todo-list-manager . docker ps docker run -dp 3000:3000 todo-list-manager docker stop docker rm docker rm -f =================================================== Docker volumes - Named volumes docker volume create todo-db docker run -dp 3000:3000 -v todo-db:/etc/todos todo-list-manager docker volume inspect todo-db =================================================== Docker volumes - Bind Mounts docker run -dp 3000:3000 \ -w /app -v "$(pwd):/app" \ node:22-alpine \ sh -c "yarn install && yarn run dev" =================================================== Docker networking docker network create todo-app docker run -d \ --network todo-app --network-alias mysql \ -v todo-mysql-data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=secret \ -e MYSQL_DATABASE=todos \ mysql:8.0 docker run -dp 3000:3000 \ -w /app -v "$(pwd):/app" \ --network todo-app \ -e MYSQL_HOST=mysql \ -e MYSQL_USER=root \ -e MYSQL_PASSWORD=secret \ -e MYSQL_DB=todos \ node:22-alpine \ sh -c "yarn install && yarn run dev" docker logs docker exec -it mysql -p todos =================================================== Docker Compose docker-compose.yml docker-compose up -d docker-compose logs docker-compose down (--volumes) =================================================== Layers and good practices How layers work, Layer caching Good practices writing Dockerfile docker image history docker scout cves todo-list-manager .dockerignore =================================================== Docker registry docker tag getting-started YOUR-USER-NAME/todo-list-manager docker push YOUR-USER-NAME/todo-list-manager docker run -dp 3000:3000 YOUR-USER-NAME/todo-list-manager ===================================================