Docker Installation
docker --version
Run Your First Containers
docker run hello-world
docker run -it ubuntu
Run Existing Applications
docker run -p 5003:5003 hothaifaz11/todos-api:latest
Linux Namespace Isolation Demo
ps aux
ps aux | head
ps
sudo unshare --fork --pid --mount-proc bash
# in the new terminal run
ps aux
ps aux | head
ps
# isolated bash proccess
Docker Images
docker pull ubuntu:26.04
#Wrong Image Examples (for teaching errors)
docker pull ubuntu:26.04213412421
# View Images
docker images
docker image ls
Remove Images
docker rmi ubuntu:26.04
docker rmi ubuntu
docker rmi $(docker images -q) # remove all images
Naming Containers
Wrong Example
docker run --name h ubutu:26.04
Correct Example
docker run --name hothaifa ubuntu:26.04
docker run --name elad ubuntu:26.04
Interactive Containers
Run Interactive Ubuntu
docker run --name hodi -it ubuntu:26.04
Start Existing Container Interactively
docker start -i hodi
Detached Mode
Run in Background
docker run --name hodi -it -d ubuntu:26.04
docker run --name hodi11 -it -d ubuntu:26.04
Stop Container
docker stop hodi11
Environment Variables
Wrong Syntax
docker run --name container1 -it -e SERVER_NAME:hodi-sql ubuntu:26.04
Correct Syntax
docker run --name container12 -it -e SERVER_NAME=hodi-sql ubuntu:26.04
Jenkins Containers
Run Jenkins
docker run --name jenkins jenkins/jenkins
Random Port Mapping
docker run --name jenkins2 -P jenkins/jenkins
docker run --name jenkins3 -P jenkins/jenkins
Specific Port Mapping
docker run --name jenkins4 -p 7000:8080 jenkins/jenkins:latest
Check Used Ports
lsof -i -P -n :7000
lsof -i :7000
Another Jenkins Instance
docker run --name jenkins5 -p 7005:8080 jenkins/jenkins:latest
Grafana Containers
Wrong Image Example
docker run --name grafana -p 3000:3000 grafana/grafnaa
Correct Image
docker run --name grafana -p 3000:3000 grafana/grafana
docker run --name grafana1 -p 3000:3000 grafana/grafana
Inspect Containers & Networks
List Running Containers
docker ps
docker ps -a
docker ps -aq
Inspect Containers
docker inspect db92aca7431d
docker inspect b621fdf82806
docker inspect 25ec1b4c58a1
List Networks
docker network ls
Cleanup Commands
Remove Specific Container
docker rm da5b93e53895
Remove All Containers
docker rm $(docker ps -qa)
Useful Commands Throughout Lesson
clear
exit
docker rm --help
ls
Random Port Mapping
docker run --name jenkins2 -P jenkins/jenkins
docker run --name jenkins3 -P jenkins/jenkins
Specific Port Mapping
docker run --name jenkins4 -p 7000:8080 jenkins/jenkins:latest
Check Used Ports
```bash lsof -i -P -n :7000 lsof -i :7000