If you are new to docker and want to learn everything of docker read this blog From Setup to Deployment: Running a Flask App in Docker on Mac
I have created another blog to Deploy Flask app using docker Compose
Let's start this blog
we are going to share an image on docker hub and then we will validate it with pull request on our local machine.
Docker hub
- Docker hub is a platform where we can publish our own docker image and we can use existing images vice versa.
steps to be followed
- register or login on docker hub
- Create a new repository
Click on Create repository and the fill up the details I have given the repository name as productivity-docker
once repository is created copy and save the command from docker-hub for your repository
example for me it's - docker push rajnishspandey/productivity-docker
now run let's get back to our Terminal or vscode whatever editor you are using.
To create new image make sure you have dockerfile in your project repository or you are in correct directory
run in Terminal (creating image again as I have deleted all the images)
docker build -t rajnishspandey/productivity-docker .
docker login
run it in terminal if you are already logged in to docker-hub it will authenticate if not just provide your credentials in Terminal and get authenticated.now run the command we have saved above from docker hub repository in Terminal
docker push rajnishspandey/productivity-docker
.
This will check our image and latest tag of the docker image and if found it will publish the image to docker-hub
Now let's check the image in docker-hub
Validation
let's validate with the pull request of our latest image from docker-hub
but before doing pull first will delete all the images from our local docker desktop app to make sure we don't have any image before pull.
now run pull request
docker pull rajnishspandey/productivity-docker
Create container and run the application.
Learn how to
- From Setup to Deployment: Running a Flask App in Docker
- 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. -
docker compose up
to run docker compose file and created image -
docker pull rajnishspandey/productivity-docker
to pull the latest image from docker-hub -
docker push rajnishspandey/productivity-docker
- to push the latest image on docker-hub -
docker login
- to login on docker-hub through terminal