How to create Docker Images with a Dockerfile

How to create Docker Images with a Dockerfile


Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.

Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image. Using docker build users can create an automated build that executes several command-line instructions in succession.

In this tutorial, We will learn how to create your own docker image with a dockerfile.

Details in a Dockerfile:

FROM

The base image for building a new image.

MAINTAINER

Optional, it contains the name of the maintainer of the image.

RUN

Used to execute a command during the build process of the docker image.

ADD

Copy a file from the host machine to the new docker image.
How to Copy Files from and to Kubernetes pods and Docker Container

ENV

Define an environment variable.

CMD

Used for executing commands when we build a new container from the docker image.

ENTRYPOINT

Define the default command that will be executed when the container is running.

WORKDIR

This is directive for CMD command to be executed.

USER

Set the user or UID for the container created with the image.

VOLUME

Enable access/linked directory between the container and the host machine.

Lets Start:

Install Docker:

Please follow this article to install docker according to your OS.

Docker Installation & Configuration ON CENTOS 7
Install docker on Ubuntu 

Ubuntu:

root@dockerserver# apt-get update

Install docker.io with this apt command:

root@dockerserver# apt-get install docker.io

Now start the docker service and enable it to start at boot time:

systemctl start docker

CentOS:

1. Create Docker Repo. Kernel should be 3.10.

tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF


2. Install docker.

yum install -y  docker-ce docker-ce-cli containerd.io

Create a Dockerfile

In this step, we will create a new directory for the dockerfile and define what we want to do with that dockerfile.

[root@dockerserver nginxtest]# cat Dockerfile
  FROM nginx

  COPY index.html /usr/share/nginx/html/
[root@dockerserver nginxtest]#

In this Dockerfile we are pulling latest nginx docker image and a copying index.html file to the docker image from the host machine.

FROM nginx :  pulling latest nginx docker image
COPY index.html /usr/share/nginx/html/ : copying index.html file to the docker image from the host machine

Build New Docker Image


As we have the  Dockerfile, now we can build a new docker image based on our dockerfile with the docker command below:

[root@dockerserver nginxtest]# docker build -t manastri/springcloud .
Sending build context to Docker daemon  123.9kB
Step 1/2 : FROM nginx
 ---> c7460dfcab50
Step 2/2 : COPY index.html /usr/share/nginx/html/
 ---> 8dcda34419b1
Successfully built 8dcda34419b1
Successfully tagged manastri/springcloud:latest
[root@dockerserver nginxtest]#

When the command completed successfully, we can check the new image 'manastri/springcloud ' with the docker command below:

[root@dockerserver nginxtest1]# docker images
REPOSITORY                                TAG                 IMAGE ID            CREATED              SIZE
manastri/springcloud                      latest              8dcda34419b1        About a minute ago   126MB

0 Response to "How to create Docker Images with a Dockerfile"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel