What Is Docker Image?
What Is Docker Image?
Docker image is the source of Docker container. In other words, Docker images are used
to create containers. Images are created with the build command, and they’ll produce a
container when started with run. Images are stored in a Docker registry such as
registry.hub.docker.com because they can become quite large, images are designed to
be composed of layers of other images, allowing a minimal amount of data to be sent
when transferring images over the network.
This is a very important question so just make sure you don’t deviate from the topic and
I will advise you to follow the below mentioned format:
Docker containers include the application and all of its dependencies, but share the kernel
with other containers, running as isolated processes in user space on the host operating
system. Docker containers are not tied to any specific infrastructure: they run on any
computer, on any infrastructure, and in any cloud.
Now explain how to create a Docker container, Docker containers can be created by either
creating a Docker image and then running it or you can use Docker images that are
present on the Dockerhub.
Docker hub is a cloud-based registry service which allows you to link to code repositories,
build your images and test them, stores manually pushed images, and links to Docker
cloud so you can deploy images to your hosts. It provides a centralized resource for
container image discovery, distribution and change management, user and team
collaboration, and workflow automation throughout the development pipeline.
Docker containers are easy to deploy in a cloud. It can get more applications running on
the same hardware than other technologies, it makes it easy for developers to quickly
create, ready-to-run containerized applications and it makes managing and deploying
applications much easier. You can even share containers with your applications.
Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single,
virtual Docker host. Docker Swarm serves the standard Docker API, any tool that already
communicates with a Docker daemon can use Swarm to transparently scale to multiple
hosts.
Dokku
Docker Compose
Docker Machine
Jenkins
You can use json instead of yaml for your compose file, to use json file with compose,
specify the filename to use for eg:
docker-compose -f docker-compose.json up
Q10. Tell us how you have used Docker in your past position?
Explain how you have used Docker to help rapid deployment. Explain how you have
scripted Docker and used Docker with other tools like Puppet, Chef or Jenkins.
If you have no past practical experience in Docker and have past experience with other
tools in a similar space, be honest and explain the same. In this case, it makes sense if
you can compare other tools to Docker in terms of functionality.
We can use Docker image to create Docker container by using the below command:
1 docker run -t -i command name
You should also add, If you want to check the list of all running container with the status
on a host use the below command:
1 docker ps -a
Q12. How to stop and restart the Docker container?
In order to stop the Docker container you can use the below command:
1 docker stop container ID
Large web deployments like Google and Twitter, and platform providers such as Heroku
and dotCloud all run on container technology, at a scale of hundreds of thousands or even
millions of containers running in parallel.
I will start this answer by saying Docker runs on only Linux and Cloud platforms and then
I will mention the below vendors of Linux:
Cloud:
Amazon EC2
Google Compute Engine
Microsoft Azure
Rackspace
You can answer this by saying, no I won’t lose my data when Docker container exits, any
data that your application writes to disk gets preserved in its container until you explicitly
delete the container. The file system for the container persists even after the container
halts.
Q16. Mention some commonly used Docker command?