Download Docker
Docker Images
- Docker Images are the templates (blueprint) of the project
- Images can not be updated it's read-only
- It has Source code, Libraries, external dependencies, tools etc.
Docker Containers
- Containers are the running instance of the Image
- It runs independently on computer hence we can call it, it's an isolated process
Docker base Image or Parent Image
- Example Python programming image which we can download from official website of Docker hub
How do we create Docker image
- To create a Docker image, we write the details in a Dockerfile that contains instructions for building the image. When we build this Dockerfile, an image is generated, which we can then run as a container.
Now let's proceed with setup and run
After downloading docker desktop
search Python base image in docker hub pull it using Terminal or Docker Desktop
-
run using Terminal or Docker Desktop
docker run -it --name rajnish_python python /bin/bash
now go to Container in docker desktop and see if it's running.
- Open Container and explore it more by checking python version
let's create a basic Python Flask web-app and run it through docker
- either you can create a new web app or just clone my repository productivity
git clone https://github.com/rajnishspandey/productivity.git
Here I have created a project and it's in my local I want to create a new repository on github and push it from my Terminal
git init
in case you want to remove the git initialised you can run below command and do git init again to add.
rm -rf git
git add .
git commit -m 'Initial Commit'
- I created a repository called productivity on github and will link it with my local/remote git
git remote set-url origin https://github.com/rajnishspandey/productivity.git
git push -u origin master
- now let's build the app and copy all the files of our application to our container
>
docker build -t productivity-app .
command to check how many images we have in docker
run docker images
in Terminal
we can see now new images is created in the docker
Now we have to run it through container
Click on run and configure the details
- click on ports 5500:5000
it will redirect you to the browser and you should see the app running
This UI can be different as it's possible that the code is updated
Docker Command list from official site
Learn how to
- Share docker image on docker hub
- Deploy Flask app using docker Compose
"Happy Learning"
Buy me a coffee
some useful docker commands
-
docker images
to check all the images -
docker build -t <new-image-name>-app .
to build an images from your application -
docker image rm <image-name>
- to delete image which is not in use -
docker run -it --name <new_container> <base-image> /bin/bash
to create a new container and run it from base image. (here above we had python as base image) -
docker image rm <image-name> -f
delete image which is in use forcefully -
docker ps -a
to see all the containers running -
docker container rm <container-name>
to delete container which is not running -
docker container rm <container-name> -f
to delete container forcefully which is running -
docker system prune -a
to delete all containers, images and caches.