How to install and validate Docker CE and Docker Compose on CentOS

How to install and validate Docker CE and Docker Compose on CentOS

Purpose – To install and setup Docker CE (Community Edition) and Docker Compose on centos 7 machine. Here we are going to install Docker CE and Docker Compose using RPM package

Pre-requisites
CentOS 7 64-bit version
Procedure for Installing and Validating Docker CE
1.     Download the latest RPM’s for docker-ceand docker-ce-selinuxfrom below repository
docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm

2.       
IStep1: Install the docker-ce-selinux RPM package
[root@desktop1 Downloads]# yum install docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
Loaded plugins: fastestmirror, langpacks
Examining docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm: docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch
Marking docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package docker-ce-selinux.noarch 0:17.03.1.ce-1.el7.centos will be installed
–> Processing Dependency: selinux-policy-base >= 3.13.1-102 for package: docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch
Loading mirror speeds from cached hostfile
 * base: mirror.umd.edu
 * extras: centos.blazar.mx
 * rpmforge: mirror.us.leaseweb.net
 * updates: mirrors.tripadvisor.com
–> Processing Dependency: selinux-policy-targeted >= 3.13.1-102 for package: docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch
–> Running transaction check
—> Package selinux-policy-targeted.noarch 0:3.13.1-60.el7_2.3 will be updated
—> Package selinux-policy-targeted.noarch 0:3.13.1-102.el7_3.16 will be an update
–> Processing Dependency: selinux-policy = 3.13.1-102.el7_3.16 for package: selinux-policy-targeted-3.13.1-102.el7_3.16.noarch
–> Processing Dependency: selinux-policy = 3.13.1-102.el7_3.16 for package: selinux-policy-targeted-3.13.1-102.el7_3.16.noarch
–> Processing Dependency: policycoreutils>= 2.5 for package: selinux-policy-targeted-3.13.1-102.el7_3.16.noarch
–> Running transaction check
—> Package policycoreutils.x86_64 0:2.2.5-20.el7 will be updated
–> Processing Dependency: policycoreutils = 2.2.5-20.el7 for package: policycoreutils-python-2.2.5-20.el7.x86_64
—> Package policycoreutils.x86_64 0:2.5-11.el7_3 will be an update
–> Processing Dependency: libsepol>= 2.5-6 for package: policycoreutils-2.5-11.el7_3.x86_64
–> Processing Dependency: libselinux-utils>= 2.5-6 for package: policycoreutils-2.5-11.el7_3.x86_64
–> Processing Dependency: libsepol.so.1(LIBSEPOL_1.1)(64bit) for package: policycoreutils-2.5-11.el7_3.x86_64
–> Processing Dependency: libsepol.so.1(LIBSEPOL_1.0)(64bit) for package: policycoreutils-2.5-11.el7_3.x86_64
–> Processing Dependency: libsemanage.so.1(LIBSEMANAGE_1.1)(64bit) for package: policycoreutils-2.5-11.el7_3.x86_64
—> Package selinux-policy.noarch 0:3.13.1-60.el7_2.3 will be updated
—> Package selinux-policy.noarch 0:3.13.1-102.el7_3.16 will be an update
–> Running transaction check
—> Package libselinux-utils.x86_64 0:2.2.2-6.el7 will be updated
—> Package libselinux-utils.x86_64 0:2.5-6.el7 will be an update
–> Processing Dependency: libselinux(x86-64) = 2.5-6.el7 for package: libselinux-utils-2.5-6.el7.x86_64
—> Package libsemanage.x86_64 0:2.1.10-18.el7 will be updated
–> Processing Dependency: libsemanage = 2.1.10-18.el7 for package: libsemanage-python-2.1.10-18.el7.x86_64
—> Package libsemanage.x86_64 0:2.5-5.1.el7_3 will be an update
—> Package libsepol.x86_64 0:2.1.9-3.el7 will be updated
—> Package libsepol.x86_64 0:2.5-6.el7 will be an update
—> Package policycoreutils-python.x86_64 0:2.2.5-20.el7 will be updated
—> Package policycoreutils-python.x86_64 0:2.5-11.el7_3 will be an update
–> Processing Dependency: setools-libs >= 3.3.8-1 for package: policycoreutils-python-2.5-11.el7_3.x86_64
–> Running transaction check
—> Package libselinux.x86_64 0:2.2.2-6.el7 will be updated
–> Processing Dependency: libselinux = 2.2.2-6.el7 for package: libselinux-python-2.2.2-6.el7.x86_64
—> Package libselinux.x86_64 0:2.5-6.el7 will be an update
—> Package libsemanage-python.x86_64 0:2.1.10-18.el7 will be updated
—> Package libsemanage-python.x86_64 0:2.5-5.1.el7_3 will be an update
—> Package setools-libs.x86_64 0:3.3.7-46.el7 will be updated
—> Package setools-libs.x86_64 0:3.3.8-1.1.el7 will be an update
–> Running transaction check
—> Package libselinux-python.x86_64 0:2.2.2-6.el7 will be updated
—> Package libselinux-python.x86_64 0:2.5-6.el7 will be an update
–> Processing Conflict: libselinux-2.5-6.el7.x86_64 conflicts systemd< 219-20
–> Restarting Dependency Resolution with new changes.
–> Running transaction check
—> Package systemd.x86_64 0:219-19.el7_2.4 will be updated
–> Processing Dependency: systemd = 219-19.el7_2.4 for package: systemd-python-219-19.el7_2.4.x86_64
–> Processing Dependency: systemd = 219-19.el7_2.4 for package: systemd-sysv-219-19.el7_2.4.x86_64
—> Package systemd.x86_64 0:219-30.el7_3.9 will be an update
–> Processing Dependency: systemd-libs = 219-30.el7_3.9 for package: systemd-219-30.el7_3.9.x86_64
–> Running transaction check
—> Package systemd-libs.x86_64 0:219-19.el7_2.4 will be updated
–> Processing Dependency: systemd-libs = 219-19.el7_2.4 for package: libgudev1-219-19.el7_2.4.x86_64
—> Package systemd-libs.x86_64 0:219-30.el7_3.9 will be an update
—> Package systemd-python.x86_64 0:219-19.el7_2.4 will be updated
—> Package systemd-python.x86_64 0:219-30.el7_3.9 will be an update
—> Package systemd-sysv.x86_64 0:219-19.el7_2.4 will be updated
—> Package systemd-sysv.x86_64 0:219-30.el7_3.9 will be an update
–> Running transaction check
—> Package libgudev1.x86_64 0:219-19.el7_2.4 will be updated
—> Package libgudev1.x86_64 0:219-30.el7_3.9 will be an update
–> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================
 Package                        Arch          Version                        Repository                                                Size
============================================================================================================================================
Installing:
docker-ce-selinuxnoarch        17.03.1.ce-1.el7.centos        /docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch         43 k
Updating:
systemd                        x86_64        219-30.el7_3.9                 updates                                                  5.2 M
Updating for dependencies:
 libgudev1                      x86_64        219-30.el7_3.9                 updates                                                   77 k
libselinux                     x86_64        2.5-6.el7                      base                                                     161 k
libselinux-python              x86_64        2.5-6.el7                      base                                                     234 k
libselinux-utils               x86_64        2.5-6.el7                      base                                                     151 k
libsemanage                    x86_64        2.5-5.1.el7_3                  updates                                                  144 k
libsemanage-python             x86_64        2.5-5.1.el7_3                  updates                                                  104 k
libsepol                       x86_64        2.5-6.el7                      base                                                     288 k
policycoreutils                x86_64        2.5-11.el7_3                   updates                                                  841 k
policycoreutils-python         x86_64        2.5-11.el7_3                   updates                                                  445 k
selinux-policynoarch        3.13.1-102.el7_3.16            updates                                                  414 k
selinux-policy-targetednoarch        3.13.1-102.el7_3.16            updates                                                  6.4 M
setools-libs                   x86_64        3.3.8-1.1.el7                  base                                                     612 k
systemd-libs                   x86_64        219-30.el7_3.9                 updates                                                  369 k
systemd-python                 x86_64        219-30.el7_3.9                 updates                                                  110 k
systemd-sysv                   x86_64        219-30.el7_3.9                 updates                                                   64 k
Transaction Summary
============================================================================================================================================
Install  1 Package
Upgrade  1 Package (+15 Dependent packages)
Total size: 16 M
Total download size: 16 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for base
updates/7/x86_64/prestodelta                                                                                         | 780 kB  00:00:00    
Delta RPMs reduced 1.3 M of updates to 692 k (46% saved)
(1/16): policycoreutils-python-2.2.5-20.el7_2.5-11.el7_3.x86_64.drpm                                                 | 259 kB  00:00:00
(2/16): policycoreutils-2.2.5-20.el7_2.5-11.el7_3.x86_64.drpm                                                        | 433 kB  00:00:00
(3/16): libgudev1-219-30.el7_3.9.x86_64.rpm                                                                          |  77 kB  00:00:00    
(4/16): libsemanage-2.5-5.1.el7_3.x86_64.rpm                                                                         | 144 kB  00:00:00
(5/16): libselinux-2.5-6.el7.x86_64.rpm                                                                              | 161 kB  00:00:00
(6/16): libselinux-python-2.5-6.el7.x86_64.rpm                                                                       | 234 kB  00:00:00
(7/16): selinux-policy-3.13.1-102.el7_3.16.noarch.rpm                                                                | 414 kB  00:00:00
(8/16): libsepol-2.5-6.el7.x86_64.rpm                                                                                | 288 kB  00:00:00
(9/16): libselinux-utils-2.5-6.el7.x86_64.rpm                                                                        | 151 kB  00:00:00
(10/16): libsemanage-python-2.5-5.1.el7_3.x86_64.rpm                                                                 | 104 kB  00:00:00
(11/16): systemd-libs-219-30.el7_3.9.x86_64.rpm                                                                      | 369 kB  00:00:00
(12/16): systemd-python-219-30.el7_3.9.x86_64.rpm                                                                    | 110 kB  00:00:00
(13/16): systemd-sysv-219-30.el7_3.9.x86_64.rpm                                                                      |  64 kB  00:00:00    
(14/16): setools-libs-3.3.8-1.1.el7.x86_64.rpm                                                                       | 612 kB  00:00:00
(15/16): systemd-219-30.el7_3.9.x86_64.rpm                                                                           | 5.2 MB  00:00:01
(16/16): selinux-policy-targeted-3.13.1-102.el7_3.16.noarch.rpm                                                      | 6.4 MB  00:00:01
Finishing delta rebuilds of 1 package(s) (841 k)
——————————————————————————————————————————————–
Total                                                                                                       4.4 MB/s |  15 MB  00:00:03    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Updating   : libsepol-2.5-6.el7.x86_64                                                                                               1/33
  Updating   : libselinux-2.5-6.el7.x86_64                                                                                             2/33
  Updating   : libsemanage-2.5-5.1.el7_3.x86_64                                                                                        3/33
  Updating   : systemd-libs-219-30.el7_3.9.x86_64                                                                                      4/33
  Updating   : systemd-219-30.el7_3.9.x86_64                                                                                           5/33
  Updating   : libselinux-utils-2.5-6.el7.x86_64                                                                                       6/33
  Updating   : policycoreutils-2.5-11.el7_3.x86_64                                                                                     7/33
  Updating   : selinux-policy-3.13.1-102.el7_3.16.noarch                                                                               8/33
  Updating   : selinux-policy-targeted-3.13.1-102.el7_3.16.noarch                                                                      9/33
warning: /etc/selinux/targeted/seusers created as /etc/selinux/targeted/seusers.rpmnew
‘/etc/selinux/targeted/modules/active/seusers’ -> ‘/etc/selinux/targeted/active/seusers.local’
  Updating   : libsemanage-python-2.5-5.1.el7_3.x86_64                                                                                10/33
  Updating   : libselinux-python-2.5-6.el7.x86_64                                                                                     11/33
  Updating   : setools-libs-3.3.8-1.1.el7.x86_64                                                                                      12/33
  Updating   : policycoreutils-python-2.5-11.el7_3.x86_64                                                                             13/33
Installing : docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch                                                                       14/33
libsemanage.semanage_direct_install_info: Overriding docker module at lower priority 100 with module at priority 400.
restorecon:  lstat(/var/lib/docker) failed:  No such file or directory
warning: %post(docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch) scriptlet failed, exit status 255
Non-fatal POSTIN scriptlet failure in rpm package docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch
  Updating   : systemd-python-219-30.el7_3.9.x86_64                                                                                   15/33
  Updating   : systemd-sysv-219-30.el7_3.9.x86_64                                                                                     16/33
  Updating   : libgudev1-219-30.el7_3.9.x86_64                                                                                        17/33
  Cleanup    : policycoreutils-python-2.2.5-20.el7.x86_64                                                                             18/33
  Cleanup    : selinux-policy-targeted-3.13.1-60.el7_2.3.noarch                                                                       19/33
warning: /etc/selinux/targeted/modules/active/seusers.final saved as /etc/selinux/targeted/modules/active/seusers.final.rpmsave
  Cleanup    : systemd-python-219-19.el7_2.4.x86_64                                                                                   20/33
  Cleanup    : selinux-policy-3.13.1-60.el7_2.3.noarch                                                                                21/33
  Cleanup    : systemd-sysv-219-19.el7_2.4.x86_64                                                                                     22/33
  Cleanup    : policycoreutils-2.2.5-20.el7.x86_64                                                                                    23/33
  Cleanup    : systemd-219-19.el7_2.4.x86_64                                                                                          24/33
  Cleanup    : setools-libs-3.3.7-46.el7.x86_64                                                                                       25/33
  Cleanup    : libselinux-utils-2.2.2-6.el7.x86_64                                                                                    26/33
  Cleanup    : libselinux-python-2.2.2-6.el7.x86_64                                                                                   27/33
  Cleanup    : libsemanage-python-2.1.10-18.el7.x86_64                                                                                28/33
  Cleanup    : libsemanage-2.1.10-18.el7.x86_64                                                                                       29/33
  Cleanup    : libgudev1-219-19.el7_2.4.x86_64                                                                                        30/33
  Cleanup    : systemd-libs-219-19.el7_2.4.x86_64                                                                                     31/33
  Cleanup    : libselinux-2.2.2-6.el7.x86_64                                                                                          32/33
  Cleanup    : libsepol-2.1.9-3.el7.x86_64                                                                                            33/33
Verifying  : selinux-policy-3.13.1-102.el7_3.16.noarch                                                                               1/33
Verifying  : policycoreutils-python-2.5-11.el7_3.x86_64                                                                              2/33
Verifying  : libselinux-utils-2.5-6.el7.x86_64                                                                                       3/33
Verifying  : policycoreutils-2.5-11.el7_3.x86_64                                                                                     4/33
Verifying  : libsepol-2.5-6.el7.x86_64                                                                                               5/33
Verifying  : selinux-policy-targeted-3.13.1-102.el7_3.16.noarch                                                                      6/33
Verifying  : libsemanage-2.5-5.1.el7_3.x86_64                                                                                        7/33
Verifying  : systemd-python-219-30.el7_3.9.x86_64                                                                                    8/33
Verifying  : docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch                                                                        9/33
Verifying  : libselinux-python-2.5-6.el7.x86_64                                                                                     10/33
Verifying  : libselinux-2.5-6.el7.x86_64                                                                                            11/33
Verifying  : systemd-sysv-219-30.el7_3.9.x86_64                                                                                     12/33
Verifying  : libgudev1-219-30.el7_3.9.x86_64                                                                                        13/33
Verifying  : libsemanage-python-2.5-5.1.el7_3.x86_64                                                                                14/33
Verifying  : systemd-219-30.el7_3.9.x86_64                                                                                          15/33
Verifying  : systemd-libs-219-30.el7_3.9.x86_64                                                                                     16/33
Verifying  : setools-libs-3.3.8-1.1.el7.x86_64                                                                                      17/33
Verifying  : systemd-python-219-19.el7_2.4.x86_64                                                                                   18/33
Verifying  : selinux-policy-targeted-3.13.1-60.el7_2.3.noarch                                                                       19/33
Verifying  : libsemanage-python-2.1.10-18.el7.x86_64                                                                                20/33
Verifying  : setools-libs-3.3.7-46.el7.x86_64                                                                                       21/33
Verifying  : libsemanage-2.1.10-18.el7.x86_64                                                                                       22/33
Verifying  : systemd-219-19.el7_2.4.x86_64                                                                                          23/33
Verifying  : systemd-sysv-219-19.el7_2.4.x86_64                                                                                     24/33
Verifying  : libselinux-utils-2.2.2-6.el7.x86_64                                                                                    25/33
Verifying  : systemd-libs-219-19.el7_2.4.x86_64                                                                                     26/33
Verifying  : libgudev1-219-19.el7_2.4.x86_64                                                                                        27/33
Verifying  : selinux-policy-3.13.1-60.el7_2.3.noarch                                                                                28/33
Verifying  : libsepol-2.1.9-3.el7.x86_64                                                                                            29/33
Verifying  : libselinux-python-2.2.2-6.el7.x86_64                                                                                   30/33
Verifying  : policycoreutils-2.2.5-20.el7.x86_64                                                                                    31/33
Verifying  : libselinux-2.2.2-6.el7.x86_64                                                                                          32/33
Verifying  : policycoreutils-python-2.2.5-20.el7.x86_64                                                                             33/33
Installed:
docker-ce-selinux.noarch 0:17.03.1.ce-1.el7.centos
Updated:
  systemd.x86_64 0:219-30.el7_3.9                                                                                                          
Dependency Updated:
  libgudev1.x86_64 0:219-30.el7_3.9                                         libselinux.x86_64 0:2.5-6.el7                                   
libselinux-python.x86_64 0:2.5-6.el7                                      libselinux-utils.x86_64 0:2.5-6.el7                            
  libsemanage.x86_64 0:2.5-5.1.el7_3                                        libsemanage-python.x86_64 0:2.5-5.1.el7_3                      
  libsepol.x86_64 0:2.5-6.el7                                               policycoreutils.x86_64 0:2.5-11.el7_3                          
policycoreutils-python.x86_64 0:2.5-11.el7_3                              selinux-policy.noarch 0:3.13.1-102.el7_3.16                    
selinux-policy-targeted.noarch 0:3.13.1-102.el7_3.16                      setools-libs.x86_64 0:3.3.8-1.1.el7                            
systemd-libs.x86_64 0:219-30.el7_3.9                                      systemd-python.x86_64 0:219-30.el7_3.9                         
systemd-sysv.x86_64 0:219-30.el7_3.9                                    
Complete!
3Step2: Install the docker-ce RPM package
[root@desktop1 Downloads]# yum install docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm: docker-ce-17.03.1.ce-1.el7.centos.x86_64
Marking docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package docker-ce.x86_64 0:17.03.1.ce-1.el7.centos will be installed
–> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================
 Package               Arch               Version                               Repository                                             Size
============================================================================================================================================
Installing:
docker-ce             x86_64             17.03.1.ce-1.el7.centos               /docker-ce-17.03.1.ce-1.el7.centos.x86_64              65 M
Transaction Summary
============================================================================================================================================
Install  1 Package
Total size: 65 M
Installed size: 65 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : docker-ce-17.03.1.ce-1.el7.centos.x86_64                                                                                 1/1
Verifying  : docker-ce-17.03.1.ce-1.el7.centos.x86_64                                                                                 1/1
Installed:
docker-ce.x86_64 0:17.03.1.ce-1.el7.centos                                                                                               
Complete!
4
  Step3: Verify the docker installation
[root@desktop1 Downloads]# docker –version
Docker version 17.03.1-ce, build c6d412e
5Step4: Start the Docker service
[user1@desktop1 Downloads]$ sudosystemctl start docker
[user1@desktop1 Downloads]$ sudosystemctl status docker
● docker.service – Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-06-14 03:07:12 PDT; 10s ago
     Docs: https://docs.docker.com
 Main PID: 18077 (dockerd)
   Memory: 57.4M
CGroup: /system.slice/docker.service
18077 /usr/bin/dockerd
           └─18094 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock –metrics-interval=0 –start-timeout …
Jun 14 03:07:09 desktop1dockerd[18077]: time=”2017-06-14T03:07:09.272532206-07:00″ level=info msg=”Graph migration to content-addr…seconds”
Jun 14 03:07:09 desktop1dockerd[18077]: time=”2017-06-14T03:07:09.273111272-07:00″ level=warning msg=”mountpoint for pids not found”
Jun 14 03:07:09 desktop1dockerd[18077]: time=”2017-06-14T03:07:09.273643838-07:00″ level=info msg=”Loading containers: start.”
Jun 14 03:07:10 desktop1dockerd[18077]: time=”2017-06-14T03:07:10.140658773-07:00″ level=info msg=”Firewalld running: true”
Jun 14 03:07:11 desktop1dockerd[18077]: time=”2017-06-14T03:07:11.250498354-07:00″ level=info msg=”Default bridge (docker0) is ass…address”
Jun 14 03:07:11 desktop1dockerd[18077]: time=”2017-06-14T03:07:11.386457083-07:00″ level=info msg=”Loading containers: done.”
Jun 14 03:07:12 desktop1dockerd[18077]: time=”2017-06-14T03:07:12.168802817-07:00″ level=info msg=”Daemon has completed initialization”
Jun 14 03:07:12 desktop1dockerd[18077]: time=”2017-06-14T03:07:12.169145537-07:00″ level=info msg=”Docker daemon” commit=c6d412e g….03.1-ce
Jun 14 03:07:12 desktop1dockerd[18077]: time=”2017-06-14T03:07:12.179901350-07:00″ level=info msg=”API listen on /var/run/docker.sock”
Jun 14 03:07:12 desktop1systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
6Step5: Run the hello-world docker image
[user1@desktop1 Downloads]$ sudodocker run hello-world
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/
For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/
7Step6: Location of images, containers, volumes or customized configuration files is at below
[root@desktop1 ~]# cd /var/lib/docker/
[root@desktop1 docker]# ls -ltr
total 8
drwx——. 4 root root   30 Jun 14 03:07 plugins
drwx——. 3 rootroot   20 Jun 14 03:07 image
drwx——. 2 root root   24 Jun 14 03:07 volumes
drwx——. 2 root root    6 Jun 14 03:07 trust
drwxr-x—. 3 rootroot   18 Jun 14 03:07 network
drwx——. 2 root root    6 Jun 14 03:07 swarm
drwx——. 2 root root    6 Jun 14 03:07 tmp
drwx——. 7 root root 4096 Jun 14 03:08 overlay
drwx——. 4 root root 4096 Jun 14 03:08 containers
Next, we will setup Docker Compose as show below.

What is Docker Compose
Docker Compose is a tool for defining and running multi-container docker applications. It uses a compose file to define services for your application. Using a single command you can create and start all services defined in the compose file.
Procedure for Installing and Validating Docker Compose
1Step1: Download the Docker Compose binary from the below github repository
[root@desktop1 ~]# curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617    0   617    0     0   2008      0 –:–:– –:–:– –:–:–  2009
100 8084k  100 8084k    0     0  7149k      0  0:00:01  0:00:01 –:–:– 7149k
[root@desktop1 ~]# ls -ltr /usr/local/bin/docker-compose
-rw-r–r–. 1 root root 8278064 Jun 14 11:44 /usr/local/bin/docker-compose
2Step2: Run docker-compose executable
[root@desktop1 ~]# chmod 755 /usr/local/bin/docker-compose
[root@desktop1 ~]# ls -ltr /usr/local/bin/docker-compose
-rwxr-xr-x. 1 root root 8278064 Jun 14 11:44 /usr/local/bin/docker-compose
[root@desktop1 ~]# /usr/local/bin/docker-compose
3Step3: Test the installation
[root@desktop1 ~]# docker-compose –version
docker-compose version 1.14.0-rc2, build 24dae73
Hope you enjoyed reading this article. Thank you.