Docker with apache on ubuntu:
Install Dcoker:
-------------------
FROM ubuntu:trusty
RUN apt-get update && apt-get install apache2 -y
CMD ["echo","hi]
Create image with Dockerfile:
---------------------------------------
ubuntu@ip-172-31-2-125:~/images/test$ docker image build -t test:0.9 .
List all docker images:
---------------------------
ubuntu@ip-172-31-2-125:~/images/test$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
test 0.9 e6f223044ca7 51 seconds ago 216MB
ubuntu trusty 5dbc3f318ea5 12 days ago 188MB
hello-world latest fce289e99eb9 4 weeks ago 1.84kB
jenkins latest cd14cecfdb3a 6 months ago 696MB
=============================================
Create docker file :
----------------------------
FROM ubuntu:trusty
RUN echo "hello"> 1.txt
CMD ["echo","hi]
Create image with Dockerfile:
---------------------------------------
ubuntu@ip-172-31-2-125:~/images/test$ docker image build -t test2 .
Check the test and test2 image sizes:
-------------------------------------------------
ubuntu@ip-172-31-2-125:~/images/test2$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test2 latest ad2aa5c40929 4 seconds ago 188MB
test 0.9 e6f223044ca7 9 minutes ago 216MB
ubuntu trusty 5dbc3f318ea5 12 days ago 188MB
hello-world latest fce289e99eb9 4 weeks ago 1.84kB
jenkins latest cd14cecfdb3a 6 months ago 696MB
To start a container:
-----------------------
ubuntu@ip-172-31-2-125:~/images/test2$ docker container run test2
hi
Note: When you start the container you will get the msg like what ever you have mentioned in the CMD line in dockerfile.
How to go inside a container if container in runing state:
--------------------------------------------------------------------
Docker container exec -it containername /bin/sh
To remove image:
------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker image rm test2 -f
Untagged: test2:latest
Deleted: sha256:ad2aa5c40929394cb236444a1f5a533baf6265560b9a22916a49957233e59a6d
======================================
FROM ubuntu:trusty
RUN apt-get update && apt-get install git -y
RUN apt-get install tree -y
CMD ["echo","hi]
Create image with Dockerfile:
---------------------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker image build -t test3 .
Check the test, test2,test3 image sizes:
-------------------------------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test3 latest b10e7604d76e 21 seconds ago 241MB
test2 latest ad2aa5c40929 4 minutes ago 188MB
test 0.9 e6f223044ca7 13 minutes ago 216MB
ubuntu trusty 5dbc3f318ea5 12 days ago 188MB
hello-world latest fce289e99eb9 4 weeks ago 1.84kB
jenkins latest cd14cecfdb3a 6 months ago 696MB
===============================================================
ubuntu@ip-172-31-2-125:~$ docker image ls --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
test3 latest <none> b10e7604d76e 2 days ago 241MB
test2 latest <none> ad2aa5c40929 2 days ago 188MB
test 0.9 <none> e6f223044ca7 2 days ago 216MB
ubuntu trusty sha256:cac55e5d97fad634d954d00a5c2a56d80576a08dcc01036011f26b88263f1578 5dbc3f318ea5 2 weeks ago 188MB
hello-world latest sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535 fce289e99eb9 5 weeks ago 1.84kB
jenkins latest sha256:eeb4850eb65f2d92500e421b430ed1ec58a7ac909e91f518926e02473904f668 cd14cecfdb3a 6 months ago 696MB
ubuntu@ip-172-31-2-125:~$
Docker inspect a image:
----------------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker image inspect test:0.9 |more
[
{
"Id": "sha256:e6f223044ca7ec26ee608e3a423baf4f15a687a4cc3cbfde7095d786f9bb2092",
"RepoTags": [
"test:0.9"
],
"RepoDigests": [],
"Parent": "sha256:6cdbeda8716c6fbb38b8648372477291e8758037cbd278925e84d78ad99f6244",
"Comment": "",
"Created": "2019-02-04T09:22:11.499694481Z",
"Container": "b0adabd82c157d2b4280b5497302cdaf4ff8665f47462e50f5570350cd7460c7",
"ContainerConfig": {
"Hostname": "b0adabd82c15",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ",
"CMD [\"/bin/sh\" \"-c\" \"[\\\"echo\\\",\\\"hi]\"]"
],
"ArgsEscaped": true,
"Image": "sha256:6cdbeda8716c6fbb38b8648372477291e8758037cbd278925e84d78ad99f6244",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"DockerVersion": "18.06.1-ce",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"[\"echo\",\"hi]"
],
"ArgsEscaped": true,
"Image": "sha256:6cdbeda8716c6fbb38b8648372477291e8758037cbd278925e84d78ad99f6244",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 215808937,
"VirtualSize": 215808937,
"GraphDriver": {
"Data": null,
"Name": "aufs"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24",
"sha256:cedebe130ed97cb896fabe54d76378a1c0b5d9baba5cbc7c93b6067f59a1488b"
]
},
"Metadata": {
"LastTagTime": "2019-02-04T09:22:11.514316879Z"
}
}
]
ubuntu@ip-172-31-2-125:~/images/test3$
COmpare FS layes:
==============
Ubuntu :(Base image)
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24"
]
},
Apche2:
----------
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24",
"sha256:cedebe130ed97cb896fabe54d76378a1c0b5d9baba5cbc7c93b6067f59a1488b"
]
},
Git & Tree:
---------------
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24",
"sha256:48ff2eb95a44ffba31dab3ec62dd754b0165d7ed61881ed26cc9b1b5f2929255",
"sha256:4059b0420965e361666a054823b8a51bb1737d45d93e994c0d126ef0a954442b"
]
},
###########################################################################
AUFS:
=> It is a filesystem which is capable of combining all of these layers and it shows to your container its a one file system.
=> Overlay also same like AUFS.
=> these two are filesystem like ext2,ext3.
=>AUFS is old one and overlay is new one.
** Overlay is act like driver it will combine all layers and it will show as a one file-system **
The result of overlay is a one-file system.
-------------------
curl -sSL https://get.docker.com/ | sh
sudo service docker start
sudo usermod -aG docker $(id -un)
Create Docker file:
-------------------
ubuntu@ip-172-31-2-125:~/images/test$ cat DockerfileFROM ubuntu:trusty
RUN apt-get update && apt-get install apache2 -y
CMD ["echo","hi]
Create image with Dockerfile:
---------------------------------------
ubuntu@ip-172-31-2-125:~/images/test$ docker image build -t test:0.9 .
List all docker images:
---------------------------
ubuntu@ip-172-31-2-125:~/images/test$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
test 0.9 e6f223044ca7 51 seconds ago 216MB
ubuntu trusty 5dbc3f318ea5 12 days ago 188MB
hello-world latest fce289e99eb9 4 weeks ago 1.84kB
jenkins latest cd14cecfdb3a 6 months ago 696MB
=============================================
Create docker file :
----------------------------
FROM ubuntu:trusty
RUN echo "hello"> 1.txt
CMD ["echo","hi]
Create image with Dockerfile:
---------------------------------------
ubuntu@ip-172-31-2-125:~/images/test$ docker image build -t test2 .
Check the test and test2 image sizes:
-------------------------------------------------
ubuntu@ip-172-31-2-125:~/images/test2$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test2 latest ad2aa5c40929 4 seconds ago 188MB
test 0.9 e6f223044ca7 9 minutes ago 216MB
ubuntu trusty 5dbc3f318ea5 12 days ago 188MB
hello-world latest fce289e99eb9 4 weeks ago 1.84kB
jenkins latest cd14cecfdb3a 6 months ago 696MB
To start a container:
-----------------------
ubuntu@ip-172-31-2-125:~/images/test2$ docker container run test2
hi
Note: When you start the container you will get the msg like what ever you have mentioned in the CMD line in dockerfile.
How to go inside a container if container in runing state:
--------------------------------------------------------------------
Docker container exec -it containername /bin/sh
To remove image:
------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker image rm test2 -f
Untagged: test2:latest
Deleted: sha256:ad2aa5c40929394cb236444a1f5a533baf6265560b9a22916a49957233e59a6d
======================================
Create Docker file:
-------------------
ubuntu@ip-172-31-2-125:~/images/test$ cat DockerfileFROM ubuntu:trusty
RUN apt-get update && apt-get install git -y
RUN apt-get install tree -y
CMD ["echo","hi]
Create image with Dockerfile:
---------------------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker image build -t test3 .
Check the test, test2,test3 image sizes:
-------------------------------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test3 latest b10e7604d76e 21 seconds ago 241MB
test2 latest ad2aa5c40929 4 minutes ago 188MB
test 0.9 e6f223044ca7 13 minutes ago 216MB
ubuntu trusty 5dbc3f318ea5 12 days ago 188MB
hello-world latest fce289e99eb9 4 weeks ago 1.84kB
jenkins latest cd14cecfdb3a 6 months ago 696MB
===============================================================
Docker image:(Docker images are read only)
=============
Image is a combination of layers stacked on each other and it will have manifest.
=> container is a image + one read write layer.
=> When we create container from image it will create one extra layer as a read write access.
Note: Manifest is a file which will tell metadata about your image and
This image is combination multiple layers.
ubuntu@ip-172-31-2-125:~$ docker image ls --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
test3 latest <none> b10e7604d76e 2 days ago 241MB
test2 latest <none> ad2aa5c40929 2 days ago 188MB
test 0.9 <none> e6f223044ca7 2 days ago 216MB
ubuntu trusty sha256:cac55e5d97fad634d954d00a5c2a56d80576a08dcc01036011f26b88263f1578 5dbc3f318ea5 2 weeks ago 188MB
hello-world latest sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535 fce289e99eb9 5 weeks ago 1.84kB
jenkins latest sha256:eeb4850eb65f2d92500e421b430ed1ec58a7ac909e91f518926e02473904f668 cd14cecfdb3a 6 months ago 696MB
ubuntu@ip-172-31-2-125:~$
Docker inspect a image:
----------------------------------
ubuntu@ip-172-31-2-125:~/images/test3$ docker image inspect test:0.9 |more
[
{
"Id": "sha256:e6f223044ca7ec26ee608e3a423baf4f15a687a4cc3cbfde7095d786f9bb2092",
"RepoTags": [
"test:0.9"
],
"RepoDigests": [],
"Parent": "sha256:6cdbeda8716c6fbb38b8648372477291e8758037cbd278925e84d78ad99f6244",
"Comment": "",
"Created": "2019-02-04T09:22:11.499694481Z",
"Container": "b0adabd82c157d2b4280b5497302cdaf4ff8665f47462e50f5570350cd7460c7",
"ContainerConfig": {
"Hostname": "b0adabd82c15",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ",
"CMD [\"/bin/sh\" \"-c\" \"[\\\"echo\\\",\\\"hi]\"]"
],
"ArgsEscaped": true,
"Image": "sha256:6cdbeda8716c6fbb38b8648372477291e8758037cbd278925e84d78ad99f6244",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"DockerVersion": "18.06.1-ce",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/sh",
"-c",
"[\"echo\",\"hi]"
],
"ArgsEscaped": true,
"Image": "sha256:6cdbeda8716c6fbb38b8648372477291e8758037cbd278925e84d78ad99f6244",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 215808937,
"VirtualSize": 215808937,
"GraphDriver": {
"Data": null,
"Name": "aufs"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24",
"sha256:cedebe130ed97cb896fabe54d76378a1c0b5d9baba5cbc7c93b6067f59a1488b"
]
},
"Metadata": {
"LastTagTime": "2019-02-04T09:22:11.514316879Z"
}
}
]
ubuntu@ip-172-31-2-125:~/images/test3$
COmpare FS layes:
==============
Ubuntu :(Base image)
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24"
]
},
Apche2:
----------
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24",
"sha256:cedebe130ed97cb896fabe54d76378a1c0b5d9baba5cbc7c93b6067f59a1488b"
]
},
Git & Tree:
---------------
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e8769e218081127b7c313bde4a0ba2cb0107d72167b5c0d198bfb5dadfd81ad6",
"sha256:d1b9ba926eff7fe934a15b295c9d86e899aa0d9ebdd9064501ffe28ae6ab3f7f",
"sha256:8f9b85d7bbd37cd511f70bb4d25078177cd7f0d2b7644cd7f545b60e084d6b09",
"sha256:40f4c1f68b3783868af0759c34c67d7338b0a640b3a452275dd34541424a7f24",
"sha256:48ff2eb95a44ffba31dab3ec62dd754b0165d7ed61881ed26cc9b1b5f2929255",
"sha256:4059b0420965e361666a054823b8a51bb1737d45d93e994c0d126ef0a954442b"
]
},
###########################################################################
AUFS:
=> It is a filesystem which is capable of combining all of these layers and it shows to your container its a one file system.
=> Overlay also same like AUFS.
=> these two are filesystem like ext2,ext3.
=>AUFS is old one and overlay is new one.
** Overlay is act like driver it will combine all layers and it will show as a one file-system **
The result of overlay is a one-file system.
Comments
Post a Comment