Docker Notes Sept 2025

DevOps

MOTOSHARE πŸš—πŸοΈ
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
πŸš€ Everyone wins.

Start Your Journey with Motoshare

Day 1

What is Docker?
	Container mgmt. tool
	release
		community  - 
		enterprise - 
	Go 
	1.26

What is COntainer?

Mgmt
	create -> start -> stop -> restart -> kill -> remove
tools
	save cost
	save time

Docker Component
==============================================
1. Docker Engine

2. Docker Image == App

3. Registry - hub.docker.com

4. Run the image --> Container

===================================================
Docker Architecture
=============================================================



HUMAN ---> Docker Client ------------REST API-----------> Docker Daemon(Server) ----> ContainerD --> Kernel
	 =========================================================================
					docker engine

   12  ls
   13  which docker
   14  which dockerd
   15  ps -eaf | grep dockerd
   16  which containerd
   17  ps -eaf | grep containerd
   18  clear
   19  docker info
   20  clear
   21  docker version
   22  clear
   23  docker images
   24  docker ps
   25  docker ps -a
   26  dicker images
   27  docker images
   28  docker pull httpd
   29  clear
   30  docker images
   31  clear
   32  ls
   33  docker ps
   34  docker create httpd
   35  docker ps
   36  docker ps -a
   37  docker create --name raj1 httpd
   38  docker ps -a
   39  docker create httpd
   40  docker ps -a
   41  docker start 112bdde76185
   42  docker ps -a
   43  docker start a59132c11efe
   44  docker ps -a
   45  docker stop raj1
   46  docker ps -a
   47  docker restart a59132c11efe
   48  docker ps -a
   49  docker kill 112bdde76185
   50  docker ps -a
   51  docker rm 112bdde76185
   52  docker ps -a


Reference
- https://www.devopsschool.com/blog/how-to-install-docker-in-linux/
- https://www.devopsschool.com/blog/lifecycle-of-docker-containers/


Code language: JavaScript (javascript)

=========================================================================================

How to use container?
=============================
Go insider a container using exec
exec - it would exectute inside a container

$ docker exec -it contid /bin/bash
 71  docker ps
   72  docker exec 814aa598e526 ls
   73  docker exec 814aa598e526 du
   74  docker exec -it 814aa598e526 /bin/bash

Access a container using Network

   79  docker inspect 814aa598e526
   80  docker ps
   81  docker inspect c6f27d85206a
   82  curl http://172.17.0.5
   83  docker ps
   84  curl http://172.17.0.6

======================================================================
PHYSICAL 			VM SERVER			Container
=============================================================================
Is running 			Is running			is running
as long as 			as long as			as long as 
PID 1 is running		PID 1 is running		PID 1 is running

KERNEL				KERNEL				ANYTHNG - java, py, bash, any cmd tool
========================================================================
run
=============================================
pull + create + start + ATTACHED TO a PID1 of a container

run -d
pull + create + start + DO NOT ATTACHED TO a PID1 of a container


98  docker run httpd
   99  docker run -d httpd
  100  docker ps -a
  101  clear
  102  ls
  103  docker ps -a
  104  docker container stop $(docker container ls -aq)
  105  docker container prune
  106  clear
  107  docker ps -a
  108  docker run ubuntu
  109  docker  ps -a
  110  docker run -d ubuntu
  111  docker  ps -a
  112  docker run -it ubuntu
  113  docker  ps -a

==========================How to access container from outside================
  117  docker ps
  118  docker run -d httpd
  119  docker ps
  120  docker inspect 2d34bcc061ff
  121  curl http://172.17.0.2
  122  clear
  123  docker run -d -p 80:80 httpd
  124  docker ps
  125  docker run -d -p 80:80 httpd
  126  docker run -d -p 81:80 httpd
  127  docker run -d -p 82:80 httpd

http://43.204.150.25:82/
http://43.204.150.25:81/
http://43.204.150.25:80/

=================================================================
Each container
		PID
		NET
		MNT -- RFS
		USER

$ docker run -it ubuntu

  1  ps -eaf
    2  ip a
    3  ifconfig
    4  apt update
    9  sudo apt install iproute2
   10  apt install iproute2
   11  clear
   12  ip a
   13  df -kh
   14  ls /
   15  ls
   16  w
   17  id
   18  history

Code language: JavaScript (javascript)

 135  docker run -h
  136  docker run --help
  137  clear
  138  history
  139  docker container stop $(docker container ls -aq)
  140  docker container prune
  141  clear
  142  ls
  143  docker ps
  144  docker attach c4c6afa22b44
  145  clear
  146  docker ps
  147  ls
  148  clear
  149  touch rajesh.txt
  150  ls
  151  docker ps
  152  docker cp rajesh.txt 8cc8f3eb236c:/tmp
  153  docker exec 8cc8f3eb236c ls /tmp
  154  clear
  155  docker ps
  156  docker diff 8cc8f3eb236c
  157  clear
  158  docker ps
  159  docker pause 8cc8f3eb236c
  160  docker ps
  161  docker unpause 8cc8f3eb236c
  162  docker ps
  163  docker stats
  164  clear
  165  docker port
  166  docker ps
  167  docker port 609f621bb16f
  168  docker rename 609f621bb16f rajesh2
  169  docker port 609f621bb16f
  170  docker ps
  171  clear
  172  docker ps
  173  docker run --help
  174  cleare
  175  clear
  176  docker update --help
  177  clear
  178  docker ps
  179  docker wait a9445c462189
  180  clear
  181  docker ps
  182  docker logs 8cc8f3eb236c
  183  docker inspect 8cc8f3eb236c
  184  clear
  185  docker logs 8cc8f3eb236c
  186  curl http://172.17.0.32
  187  docker logs 8cc8f3eb236c
  188  curl http://172.17.0.32
  189  docker logs 8cc8f3eb236c
  190  docker stats
  191  docker stats 8cc8f3eb236c
  192  docker run -itd httpd
  193  history
  194  docker container stop $(docker container ls -aq)
  195  docker container prune
  196  history
Code language: PHP (php)

Reference – https://www.devopsschool.com/blog/the-docker-command-line-complete-referenece/

Day 2

What is Docker?
What is Container?
How container works?
Docker install
Container workflow
=========================
create -> start -> stop -> res -> pau -> upa -> kill -> remo
================================================================
What is Docker image?
===================================
TYPES FILESYSTEM
==============================
BOOT + ROOT + USER + APP
VM Image == BOOT + ROOT + USER + APP
kernel + Linux/win + rajesh + java + jenkins
Docker image
ROOT + USER + APP
ubuntu + raj			--- ubuntu
ubuntu + raj + java		== java
ubuntu + raj + java + tomcat + Jenkins == jenkins
centos
fedora
deb
sus
win19
win22
===================================================================
694  docker container stop $(docker container ls -aq)
695  docker container prune
696  history
697  clear
698  ls
699  clear
700  ls
701  docker ps -a
702  docker stop $(docker ps -aq)
703  docker rm -f $(docker ps -aq)
704  clear
705  docker ps
706  docker ps -a
707  docker images
708  docker rmi $(docker images -a -q)
709  clear
710  ls
711  docker ps -a
712  docker images
713  docker rmi $(docker images -a -q)
714  docker ps -a
715  docker rmi a542858eb092
716  docker rmi mongo:8.0.13-noble
717  docker rmi mongo:noble
718  docker rmi $(docker images -a -q)
719  clear
720  docker images
721  docker info
722  cd /var/lib/docker
723  clear
724  ls
725  docker info
726  ls
727  clear
728  ls
729  cd overlay2
730  ls
731  pwd
732  docker pull ubuntu
733  ls
734  cd 1da39e8b7b5fcac1f87895c6163b427e635095a06828b12be19ec91264c9048c
735  ls
736  cd diff/
737  ls
738  clear
739  ls
740  cd ..
741  ls
742  cd ..
743  ls
744  docker rmi ubuntu
745  ls
746  docker pull httpd
747  ls
748  clear
749  ls
750  docker inspect httpd
751  clear
752  ls
753  clear
754  ls
755  docker images
756  docker run -d httpd
757  ls
758  du -sh e6ebd5090290ef6dc49761033c60ccb18f7b4b5291d3490b82c138c50cfe9ddf-init
759  du -sh e6ebd5090290ef6dc49761033c60ccb18f7b4b5291d3490b82c138c50cfe9ddf
760  cd e6ebd5090290ef6dc49761033c60ccb18f7b4b5291d3490b82c138c50cfe9ddf
761  ls
762  cd merged/
763  ls
764  df -kh
765  clear
766  ls
767  cd ..
768  ls
769  docker ps
770  docker stop 1c032ccbccb3
771  ls e6ebd5090290ef6dc49761033c60ccb18f7b4b5291d3490b82c138c50cfe9ddf
772  docker start 1c032ccbccb3
773  ls e6ebd5090290ef6dc49761033c60ccb18f7b4b5291d3490b82c138c50cfe9ddf
774  docker stop 1c032ccbccb3
775  ls e6ebd5090290ef6dc49761033c60ccb18f7b4b5291d3490b82c138c50cfe9ddf
776  df -kh
777  docker start 1c032ccbccb3
778  df -kh
779  clear
780  ls
781  docker ps
782  docker exec 1c032ccbccb3 touch /tmp/rajesh.txt
783  docker exec 1c032ccbccb3 ls /tmp
784  find . -name rajesh.txt
785  docker stop 1c032ccbccb3
786  find . -name rajesh.txt
787  docker stoart 1c032ccbccb3
788  docker start 1c032ccbccb3
789  find . -name rajesh.txt
===============================================================================================
How to create a Docker images?
=====================================================
Lazy way --- Manual way -- easy way USING Existing Container
CI way --- Auto way -- easy way USING dockerfile
==================================================================
Name == repo name == motoshare
Base - ubuntu 
git 
apache
index.html
=========================================
5 mins
790  history
791  clear
792  docker images
793  cd
794  docker run -itd ubuntu
795  docker ps
796  docker exec -it cedc2db4f10a /bin/bash
-----------inside a container--------------------
apt-get update
apt-get install git -y
apt-get install apache2 -y
------------------------------------------------
797  vi index.html
798  docker ps
799  docker cp index.html cedc2db4f10a:/var/www/html
800  docker ps
801  docker exec cedc2db4f10a git
802  docker exec cedc2db4f10a which apache2
803  clear
804  docker ps
805  docker commit -m"ub-ap-git" -a"Rajesh Kumar" cedc2db4f10a ub-ap-git
806  docker images
807  docker history ubuntu
808  docker history ub-ap-git
809  docker images
810  docker run -itd ub-ap-git
811  docker ps
812  docker exec e6659e128430 git
813  docker exec e6659e128430 which apache2
814  docker exec e6659e128430 ls /var/www/html
815  history
Code language: JavaScript (javascript)
===================================================
dockerfile
==================================
a file
contains
INSTRUCTIONS
???
FROM ubuntu
MAINTAINER rajeshkumar devops@rajeshkumar.xyz
ARG user=rajesh
RUN apt-get update
RUN apt-get install git -y
RUN apt-get install apache2 -y
RUN useradd $user
USER $user
ENV JENKINS_HOME /var/jenkins_home
docker build -t rajesh1 .
Reference
- https://www.devopsschool.com/blog/example-and-sample-programs-of-dockerfile/
NEXT.........................
ENTRYPOINT 
CMD
Code language: PHP (php)

NEXT.........................
ENTRYPOINT 
CMD
===============================================
ENTRYPOINT
or
CMD
or 
BOTH
==================================
Container is running as long as PID 1 is running.
PID 1 can be any thing
How to set PID 1?
ENTRYPOINT
or
CMD
ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"]
CMD ["/bin/bash"]
===================================
ENTRYPOINT can not be replaced
CMD can be replaced
2 ENTRYPOINT --> LAST ONE WOULD TAKE
2 CMD ----> LAST ONE WOULD TAKE
1 ENTRYPOINT 1 CMD ---->
PID 1 -- ENTRYPOINT + CMD
["/bin/tini", "--", "/usr/local/bin/jenkins.sh", ls]
=============================
PID from BASE IMAGE
=================================================
Docker Volume
==============================================================
Container are EMP*
How to make Data of container PERSIS*
============================================
ANSWER - volume
=====================================
Types of volume or location
---- /var/lib/docker/volumes
--- Any path in host
--- memory
895  docker volume prune
896  clear
897  ls
898  pwd
899  ls
900  pwd
901  clear
902  ls
903  docker volume
904  docker volume ls
905  docker volume create dev
906  docker volume ls
907  ls
908  docker run -itd -v dev:/tmp/raju ubuntu
909  docker exec 31e5bc1ecd268fb7f2279dd390a930602962889c346e163fdd36480890bbef96 ls /tmp
910  docker exec 31e5bc1ecd268fb7f2279dd390a930602962889c346e163fdd36480890bbef96 touch /tmp/rajesh.txt
911  docker exec 31e5bc1ecd268fb7f2279dd390a930602962889c346e163fdd36480890bbef96 ls /tmp
912  docker exec 31e5bc1ecd268fb7f2279dd390a930602962889c346e163fdd36480890bbef96 touch /tmp/raju/rajesh.txt
913  docker exec 31e5bc1ecd268fb7f2279dd390a930602962889c346e163fdd36480890bbef96 ls /tmp/raju
914  ls
915  ls dev/_data/rajesh.txt
916  touch dev/_data/raju.txt
917  docker exec 31e5bc1ecd268fb7f2279dd390a930602962889c346e163fdd36480890bbef96 ls /tmp/raju
918  clear
919  docker ps
920  docker stop 31e5bc1ecd26
921  docker rm 31e5bc1ecd26
922  touch dev/_data/raju.txt
923  touch dev/_data/
924  ls dev/_data/
925  docker run -itd -v dev:/tmp/raju ubuntu
926  docker run -itd -v /opt/rajesh:/tmp/raju ubuntu
927  ls /opt/
Reference
- https://www.devopsschool.com/blog/understand-docker-volume-from-beginner-to-deep-dive-level/
- https://www.devopsschool.com/blog/docker-volume/
Code language: PHP (php)

  949  docker network ls
950  ip a
951  docker ps
952  docker inspect 752c8e0a9559
953  cleare
954  clear
955  docker network create dev
956  docker network create qa
957  docker network ls
958  docker network inspect dev
959  docker network inspect qa
960  clear
961  ls
962  docker run -itd --net=dev ubuntu
963  docker ps
964  docker inspect 5c96d60aa9f3
965  ip a
966  clear
967  ls
968  docker network ls
969  history
970  docker network ls
971  ip a
972  clear
973  docker run -itd --net=host ubuntu
974  docker ps
975  docker exec -it 02dbd55b117b
976  docker exec -it 02dbd55b117b /bin/bash
977  docker network ls
978  docker run -itd --net=none ubuntu
979  docker ps
980  clear
981  docker inspect acbdccd6591d
982  clear
983  docker ps
984  docker exec -it acbdccd6591d /bin/bash
985  docker network ls

Reference

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x