2023-02-08

Docker @TechWorldwithNana

Docker Tutorial for Beginners

 8 Basic Docker Commands || Docker Tutorial 4 

- 2:25 docker pull

 - 4:04 docker run

 - 4:40 docker ps

 - 5:06 docker run --options

 - 6:17 docker stop

 - 6:43 docker start

 - 10:08 - docker ports, docker port mapping

 - docker logs (in part 2)

 - docker exec -it (in part 2) 

Debugging Docker Containers with docker exec and docker logs || Docker Tutorial 5 

 - 1:56 docker logs

 - 5:28 docker exec -it

 Docker vs Virtual Machine | simply explained || Docker Tutorial 6 

 Overview of Workflow with Docker - Docker in Practice || Docker Tutorial 7 

 Developing with Docker - Docker in Practice || Docker Tutorial 8 

0:14 - Pre-Requisites

0:55 - what we will do in this video

1:44 - 1st part: The JavaScript App (HTML, JavaScript Frontend, Node.js Backend)

https://gitlab.com/nanuchi/techworld-js-docker-demo-app

3:30 - 2nd part: MongoDB and Mongo Express Set-Up with Docker

5:00 - Docker Network concept and demo (docker-compose uses docker network under the hood, in the next video(s) I will show you how to do it with docker-compose)

15:33 - 3rd part: Connect Node Server with MongoDB container

0:07 - What is Docker Compose?
1:22 - docker run commands VS docker compose
5:05 - How to use it? - Create the Docker Compose File (Demo)
7:25 - Docker Networking in Docker Compose

 1:49 - What is a Dockerfile?
2:22 - How the Dockerfile commands map to the image environment
8:05 - Create the Dockerfile (Demo)
12:00 - Build an image out of the Dockerfile
15:02 - Start the Application to verify: 1) App starts successfully 2) App environment is configured correctly
19:34 - do improvement - copy only relevant files

 0:21 - When do we need Docker Volumes?
1:02 - What is Docker Volumes?
2:04 - 3 Docker Volumes Types
4:14 - Docker Volumes in docker-compose file

 0:23 - no persistance - docker compose without volumes
2:16 - Define the named volume in docker compose file
5:22 - re-start docker compose and see how data is persisted
6:34 - see where the docker volumes are located on your local machine

 0:38 - Comparison Docker and Kubernetes
1:40 - Docker and Kubernetes in the software development process
2:42 - Kubernetes in Detail
3:21 - Differences of Kubernetes and Docker Swarm

 0:34 - BP 1: Use official and verified Docker Images as Base Image 
1:13 - BP 2: Use Specific Docker Image Versions
2:12 - BP 3: Use Small-Sized Official Images
(FROM node:1.2.3-alpine)
4:35 - BP 4: Optimize Caching Image Layers
10:09- BP 5: Use .dockerignore file
10:55 - BP 6: Make use of Multi-Stage Builds
14:15 - BP 7: Use the Least Privileged User 
16:06 - BP 8: Scan your Images for Security Vulnerabilities
17:50 - Wrap Up

=================================
https://www.youtube.com/watch?v=80Ew_fsV4rM

Ingress, tls certificate

https://www.youtube.com/watch?v=5cNrTU6o3Fw

multiple containers in a pod, yaml example

 

https://www.youtube.com/watch?v=6YisG2GcXaw&list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb&index=8

Mongo + NodeJS 

stream the logs: docker -f

https://www.youtube.com/watch?v=WmcdMiyqfZs&list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb&index=10

Dockerfile

docker ps -a

docker stop <containerid>

docker rm <containerid>

docker images

docker rmi <imageid>

docker build -t tagname:version .

docker images

docker run tagname:version

docker logs <containerid> -f

docker exec -it <containerid> /bin/sh

env (lists all env vars)

https://www.youtube.com/watch?v=vWSRWpOPHws&list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb&index=11

AWS ECR - Elastic Container Registry

https://www.youtube.com/watch?v=p2PH_YPCsis&list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb&index=13

Docker volumes

host volume:

docker run -v /home/mount/data:/var/lib/mysql/data

anonymous vokume:

docker run -v /var/lib/mysql/data

named volumes:

docker run -v name:/var/lib/mysql/data

https://www.youtube.com/watch?v=SBUCYJgg4Mk&list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb&index=14

volumes demo

https://youtu.be/SBUCYJgg4Mk?list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb&t=291

mongo, mysql, postgresql


No comments: