Docker Images and Containers

Docker Images and Containers

Learn more about Docker images and containers

When we work with Docker, it is important to have basic knowledge of docker images and containers. Docker containers are created using docker images. We are going to look into basic commands to create docker containers using images.

Docker Image

An image is a read-only template with instructions for creating a Docker container. It is a combination of file system and parameters. Often, an image is based on another image with some additional customization.

We can use existing images or create our own images.

Docker Container

A container is a runnable instance of an image. We can create as many as we want from an image. A container is isolated from the host by default. We can modify its behavior using network, volume, etc.

When a container is created, we can stop, restart, remove it.

How to Download an Image

We can download a Docker image using 2 methods.

  • pull — we can use pull command to get an image
$ docker container run nginx
  • create a container — when we create a container from an image, it downloads the image from the repository if it is not available in the host.

Docker Command Structure

There are many commands in docker. So Docker has grouped them together into a common format.

docker COMMAND SUBCOMMAND
$ docker container ls

Useful Docker Commands

  • docker image ls — list available images
  • docker image rm — remove an image
  • docker image inspect — inspect an image
  • docker container run — run a container
  • docker container ls — list containers
  • docker container stop — stop a running container

Dry Run

Let's test these commands with nginx.

$ docker container run --name my-nginx -p 80:80 nginx
$ docker image ls
$ docker container ls

Visit localhost in your browser. You should see nginx is running.

We can inspect image and container using inspect command.

$ docker container inspect my-nginx
$ docker image inspect nginx

How to Stop a Container

 $ docker container stop my-nginx

Verify whether it is running by using ls command.

$ docker container ls
$ docker container ls -a

Starting a Stopped Container

 $ docker container start my-nginx

Removing the Container

First stop the running container. Then use remove command to remove it.

$ docker container stop my-nginx
$ docker container remove my-nginx

Removing the Image

 $ docker image remove nginx

That's all for now. Thanks for reading

If you liked this post, share it with all of your programming buddies!

Further reading

☞ Docker and Kubernetes: The Complete Guide

☞ Docker Mastery: The Complete Toolset From a Docker Captain

☞ Docker for the Absolute Beginner - Hands On - DevOps

☞ Getting Started With MongoDB As A Docker Container Deployment

☞ Docker Tutorials - From Beginner to Advanced

☞ Docker Containers for Beginners

☞ How to debug Node.js in a Docker container?

☞ How to Create Docker Image with MySQL Database

Originally published on https://dzone.com

Angular 9 Tutorial: Learn to Build a CRUD Angular App Quickly

What's new in Bootstrap 5 and when Bootstrap 5 release date?

Brave, Chrome, Firefox, Opera or Edge: Which is Better and Faster?

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

Hire Dedicated eCommerce Web Developers | Top eCommerce Web Designers

Build your eCommerce project by hiring our expert eCommerce Website developers. Our Dedicated Web Designers develop powerful & robust website in a short span of time.

Mobile App Development Company India | Ecommerce Web Development Company India

Best Mobile App Development Company India, WebClues Global is one of the leading web and mobile app development company. Our team offers complete IT solutions including Cross-Platform App Development, CMS & E-Commerce, and UI/UX Design.

For World Class Web Development Services in India visit RB Genie

Do you want excellent and world class web development services for your valuable projects? Contact **RB Genie **now, we have more than 8 years experienced team of web developers, which specializes in overall web design and website development...