Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
Code Block
languagebash
titleDockerfile
# #
# very simple magnolia using docker
#   no best practices
# #

# let's build upon centos
FROM centos:latest

# update the centos system
# add latest java
# add wget
# clean up
RUN yum -y update && yum -y install java wget && yum clean all
# ^ best practice alert: that's a bad idea:
#       imagine this gets run later, and we get a diff version of a library?
#       imagine this gets run later, and we get a diff version of a library, and that breaks the build?

# due to heavy problems with systemd / systemctl inside containers:
# https://github.com/gdraheim/docker-systemctl-replacement
# get tomcat by hand and use that for more control
RUN mkdir -p /tomcat

# where is tomcat
ENV CATALINA_HOME /tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
# ^ critical

# change to where tomcat is
WORKDIR $CATALINA_HOME

# fetch tomcat
ADD get_tomcat.sh $CATALINA_HOME
RUN chmod +x $CATALINA_HOME/get_tomcat.sh
RUN $CATALINA_HOME/get_tomcat.sh
# could combine this and the next step by using bundle
# would have side effect of leveraging magnolia_control.{bat|sh}

# move some things around
RUN mv $CATALINA_HOME/apache-tomcat-8.5.20/* $CATALINA_HOME/
RUN rm -rf $CATALINA_HOME/apache-tomcat-8.5.20
# ^ could be done better

# fetch latest magnolia into tomcat
WORKDIR $CATALINA_HOME/webapps
ADD get_latest_magnolia.sh $CATALINA_HOME/webapps
RUN chmod +x $CATALINA_HOME/webapps/get_latest_magnolia.sh
RUN $CATALINA_HOME/webapps/get_latest_magnolia.sh

# Expose the ports
EXPOSE 8080

# actually start Tomcat once we use this container
CMD ["catalina.sh", "run"]

get_tomcat.sh

get_latest_magnolia.sh

To build it:

Expand
Todo

output here needs to be updated

Code Block
languagebash
[ghost@pvnp magnolia-base]$ sudo docker build -t magnolia-1 .
Sending build context to Docker daemon   7.68kB
Step 1/16 : FROM centos:latest
latest: Pulling from library/centos
d9aaf4d82f24: Pull complete
Digest: sha256:eba772bac22c86d7d6e72421b4700c3f894ab6e35475a34014ff8de74c10872e
Status: Downloaded newer image for centos:latest
 ---> 196e0ce0c9fb
Step 2/16 : RUN yum -y update && yum -y install java wget && yum clean all
 ---> Running in 22afe184a202
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirrors.mit.edu
 * extras: mirror.trouble-free.net
 * updates: mirror.vtti.vt.edu
No packages marked for update
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.mit.edu
 * extras: mirror.trouble-free.net
 * updates: mirror.vtti.vt.edu
Resolving Dependencies
--> Running transaction check
---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.144-0.b01.el7_4 will be installed
--> Processing Dependency: java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.144-0.b01.el7_4 for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: xorg-x11-fonts-Type1 for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjvm.so(SUNWprivate_1.1)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjpeg.so.62(LIBJPEG_6.2)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjli.so(SUNWprivate_1.1)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjava.so(SUNWprivate_1.1)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libasound.so.2(ALSA_0.9.0rc4)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libasound.so.2(ALSA_0.9)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: fontconfig(x86-64) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libpng15.so.15()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjvm.so()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjpeg.so.62()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjli.so()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libjava.so()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libgif.so.4()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libawt.so()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libasound.so.2()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libXtst.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libXrender.so.1()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libXi.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libXext.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libXcomposite.so.1()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: libX11.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
---> Package wget.x86_64 0:1.14-15.el7 will be installed
--> Running transaction check
---> Package alsa-lib.x86_64 0:1.1.3-3.el7 will be installed
---> Package fontconfig.x86_64 0:2.10.95-11.el7 will be installed
--> Processing Dependency: freetype for package: fontconfig-2.10.95-11.el7.x86_64
--> Processing Dependency: fontpackages-filesystem for package: fontconfig-2.10.95-11.el7.x86_64
--> Processing Dependency: font(:lang=en) for package: fontconfig-2.10.95-11.el7.x86_64
--> Processing Dependency: libfreetype.so.6()(64bit) for package: fontconfig-2.10.95-11.el7.x86_64
---> Package giflib.x86_64 0:4.1.6-9.el7 will be installed
--> Processing Dependency: libSM.so.6()(64bit) for package: giflib-4.1.6-9.el7.x86_64
--> Processing Dependency: libICE.so.6()(64bit) for package: giflib-4.1.6-9.el7.x86_64
---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.144-0.b01.el7_4 will be installed
--> Processing Dependency: tzdata-java >= 2015d for package: 1:java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: copy-jdk-configs >= 2.2 for package: 1:java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: lksctp-tools(x86-64) for package: 1:java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el7_4.x86_64
--> Processing Dependency: jpackage-utils for package: 1:java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el7_4.x86_64
---> Package libX11.x86_64 0:1.6.5-1.el7 will be installed
--> Processing Dependency: libX11-common >= 1.6.5-1.el7 for package: libX11-1.6.5-1.el7.x86_64
--> Processing Dependency: libxcb.so.1()(64bit) for package: libX11-1.6.5-1.el7.x86_64
---> Package libXcomposite.x86_64 0:0.4.4-4.1.el7 will be installed
---> Package libXext.x86_64 0:1.3.3-3.el7 will be installed
---> Package libXi.x86_64 0:1.7.9-1.el7 will be installed
---> Package libXrender.x86_64 0:0.9.10-1.el7 will be installed
---> Package libXtst.x86_64 0:1.2.3-1.el7 will be installed
---> Package libjpeg-turbo.x86_64 0:1.2.90-5.el7 will be installed
---> Package libpng.x86_64 2:1.5.13-7.el7_2 will be installed
---> Package xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 will be installed
--> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Processing Dependency: mkfontdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Processing Dependency: mkfontdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch
--> Running transaction check
---> Package copy-jdk-configs.noarch 0:2.2-3.el7 will be installed
---> Package fontpackages-filesystem.noarch 0:1.44-8.el7 will be installed
---> Package freetype.x86_64 0:2.4.11-15.el7 will be installed
---> Package javapackages-tools.noarch 0:3.4.1-11.el7 will be installed
--> Processing Dependency: python-javapackages = 3.4.1-11.el7 for package: javapackages-tools-3.4.1-11.el7.noarch
--> Processing Dependency: libxslt for package: javapackages-tools-3.4.1-11.el7.noarch
---> Package libICE.x86_64 0:1.0.9-9.el7 will be installed
---> Package libSM.x86_64 0:1.2.2-2.el7 will be installed
---> Package libX11-common.noarch 0:1.6.5-1.el7 will be installed
---> Package libxcb.x86_64 0:1.12-1.el7 will be installed
--> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.12-1.el7.x86_64
---> Package lksctp-tools.x86_64 0:1.0.17-2.el7 will be installed
---> Package stix-fonts.noarch 0:1.1.0-5.el7 will be installed
---> Package ttmkfdir.x86_64 0:3.0.9-42.el7 will be installed
---> Package tzdata-java.noarch 0:2017b-1.el7 will be installed
---> Package xorg-x11-font-utils.x86_64 1:7.5-20.el7 will be installed
--> Processing Dependency: libfontenc.so.1()(64bit) for package: 1:xorg-x11-font-utils-7.5-20.el7.x86_64
--> Processing Dependency: libXfont.so.1()(64bit) for package: 1:xorg-x11-font-utils-7.5-20.el7.x86_64
--> Running transaction check
---> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed
---> Package libXfont.x86_64 0:1.5.2-1.el7 will be installed
---> Package libfontenc.x86_64 0:1.1.3-3.el7 will be installed
---> Package libxslt.x86_64 0:1.1.28-5.el7 will be installed
---> Package python-javapackages.noarch 0:3.4.1-11.el7 will be installed
--> Processing Dependency: python-lxml for package: python-javapackages-3.4.1-11.el7.noarch
--> Running transaction check
---> Package python-lxml.x86_64 0:3.2.1-4.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                      Arch    Version                    Repository
                                                                           Size
================================================================================
Installing:
 java-1.8.0-openjdk           x86_64  1:1.8.0.144-0.b01.el7_4    updates  238 k
 wget                         x86_64  1.14-15.el7                base     547 k
Installing for dependencies:
 alsa-lib                     x86_64  1.1.3-3.el7                base     421 k
 copy-jdk-configs             noarch  2.2-3.el7                  base      18 k
 fontconfig                   x86_64  2.10.95-11.el7             base     229 k
 fontpackages-filesystem      noarch  1.44-8.el7                 base     9.9 k
 freetype                     x86_64  2.4.11-15.el7              base     392 k
 giflib                       x86_64  4.1.6-9.el7                base      40 k
 java-1.8.0-openjdk-headless  x86_64  1:1.8.0.144-0.b01.el7_4    updates   32 M
 javapackages-tools           noarch  3.4.1-11.el7               base      73 k
 libICE                       x86_64  1.0.9-9.el7                base      66 k
 libSM                        x86_64  1.2.2-2.el7                base      39 k
 libX11                       x86_64  1.6.5-1.el7                base     606 k
 libX11-common                noarch  1.6.5-1.el7                base     164 k
 libXau                       x86_64  1.0.8-2.1.el7              base      29 k
 libXcomposite                x86_64  0.4.4-4.1.el7              base      22 k
 libXext                      x86_64  1.3.3-3.el7                base      39 k
 libXfont                     x86_64  1.5.2-1.el7                base     152 k
 libXi                        x86_64  1.7.9-1.el7                base      40 k
 libXrender                   x86_64  0.9.10-1.el7               base      26 k
 libXtst                      x86_64  1.2.3-1.el7                base      20 k
 libfontenc                   x86_64  1.1.3-3.el7                base      31 k
 libjpeg-turbo                x86_64  1.2.90-5.el7               base     134 k
 libpng                       x86_64  2:1.5.13-7.el7_2           base     213 k
 libxcb                       x86_64  1.12-1.el7                 base     211 k
 libxslt                      x86_64  1.1.28-5.el7               base     242 k
 lksctp-tools                 x86_64  1.0.17-2.el7               base      88 k
 python-javapackages          noarch  3.4.1-11.el7               base      31 k
 python-lxml                  x86_64  3.2.1-4.el7                base     758 k
 stix-fonts                   noarch  1.1.0-5.el7                base     1.3 M
 ttmkfdir                     x86_64  3.0.9-42.el7               base      48 k
 tzdata-java                  noarch  2017b-1.el7                base     183 k
 xorg-x11-font-utils          x86_64  1:7.5-20.el7               base      87 k
 xorg-x11-fonts-Type1         noarch  7.5-9.el7                  base     521 k

Transaction Summary
================================================================================
Install  2 Packages (+32 Dependent packages)

Total download size: 38 M
Installed size: 121 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/base/packages/copy-jdk-configs-2.2-3.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for copy-jdk-configs-2.2-3.el7.noarch.rpm is not installed
Public key for java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64.rpm is not installed
--------------------------------------------------------------------------------
Total                                               13 MB/s |  38 MB  00:02
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-4.1708.el7.centos.x86_64 (@CentOS)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : freetype-2.4.11-15.el7.x86_64                               1/34
  Installing : libfontenc-1.1.3-3.el7.x86_64                               2/34
  Installing : libxslt-1.1.28-5.el7.x86_64                                 3/34
  Installing : fontpackages-filesystem-1.44-8.el7.noarch                   4/34
  Installing : libjpeg-turbo-1.2.90-5.el7.x86_64                           5/34
  Installing : libICE-1.0.9-9.el7.x86_64                                   6/34
  Installing : libSM-1.2.2-2.el7.x86_64                                    7/34
  Installing : stix-fonts-1.1.0-5.el7.noarch                               8/34
  Installing : fontconfig-2.10.95-11.el7.x86_64                            9/34
  Installing : python-lxml-3.2.1-4.el7.x86_64                             10/34
  Installing : python-javapackages-3.4.1-11.el7.noarch                    11/34
  Installing : javapackages-tools-3.4.1-11.el7.noarch                     12/34
  Installing : libXfont-1.5.2-1.el7.x86_64                                13/34
  Installing : 1:xorg-x11-font-utils-7.5-20.el7.x86_64                    14/34
  Installing : ttmkfdir-3.0.9-42.el7.x86_64                               15/34
  Installing : xorg-x11-fonts-Type1-7.5-9.el7.noarch                      16/34
  Installing : alsa-lib-1.1.3-3.el7.x86_64                                17/34
  Installing : libXau-1.0.8-2.1.el7.x86_64                                18/34
  Installing : libxcb-1.12-1.el7.x86_64                                   19/34
  Installing : libX11-common-1.6.5-1.el7.noarch                           20/34
  Installing : libX11-1.6.5-1.el7.x86_64                                  21/34
  Installing : libXext-1.3.3-3.el7.x86_64                                 22/34
  Installing : libXi-1.7.9-1.el7.x86_64                                   23/34
  Installing : libXtst-1.2.3-1.el7.x86_64                                 24/34
  Installing : giflib-4.1.6-9.el7.x86_64                                  25/34
  Installing : libXrender-0.9.10-1.el7.x86_64                             26/34
  Installing : libXcomposite-0.4.4-4.1.el7.x86_64                         27/34
  Installing : tzdata-java-2017b-1.el7.noarch                             28/34
  Installing : lksctp-tools-1.0.17-2.el7.x86_64                           29/34
  Installing : copy-jdk-configs-2.2-3.el7.noarch                          30/34
  Installing : 1:java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el7_4.x86_   31/34
  Installing : 2:libpng-1.5.13-7.el7_2.x86_64                             32/34
  Installing : 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64          33/34
  Installing : wget-1.14-15.el7.x86_64                                    34/34
install-info: No such file or directory for /usr/share/info/wget.info.gz
  Verifying  : libXext-1.3.3-3.el7.x86_64                                  1/34
  Verifying  : libX11-1.6.5-1.el7.x86_64                                   2/34
  Verifying  : libXi-1.7.9-1.el7.x86_64                                    3/34
  Verifying  : python-javapackages-3.4.1-11.el7.noarch                     4/34
  Verifying  : libICE-1.0.9-9.el7.x86_64                                   5/34
  Verifying  : giflib-4.1.6-9.el7.x86_64                                   6/34
  Verifying  : libjpeg-turbo-1.2.90-5.el7.x86_64                           7/34
  Verifying  : libXrender-0.9.10-1.el7.x86_64                              8/34
  Verifying  : libXfont-1.5.2-1.el7.x86_64                                 9/34
  Verifying  : python-lxml-3.2.1-4.el7.x86_64                             10/34
  Verifying  : 2:libpng-1.5.13-7.el7_2.x86_64                             11/34
  Verifying  : freetype-2.4.11-15.el7.x86_64                              12/34
  Verifying  : fontpackages-filesystem-1.44-8.el7.noarch                  13/34
  Verifying  : ttmkfdir-3.0.9-42.el7.x86_64                               14/34
  Verifying  : 1:java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64          15/34
  Verifying  : stix-fonts-1.1.0-5.el7.noarch                              16/34
  Verifying  : copy-jdk-configs-2.2-3.el7.noarch                          17/34
  Verifying  : libXcomposite-0.4.4-4.1.el7.x86_64                         18/34
  Verifying  : libXtst-1.2.3-1.el7.x86_64                                 19/34
  Verifying  : lksctp-tools-1.0.17-2.el7.x86_64                           20/34
  Verifying  : libxcb-1.12-1.el7.x86_64                                   21/34
  Verifying  : wget-1.14-15.el7.x86_64                                    22/34
  Verifying  : xorg-x11-fonts-Type1-7.5-9.el7.noarch                      23/34
  Verifying  : libxslt-1.1.28-5.el7.x86_64                                24/34
  Verifying  : tzdata-java-2017b-1.el7.noarch                             25/34
  Verifying  : 1:java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el7_4.x86_   26/34
  Verifying  : javapackages-tools-3.4.1-11.el7.noarch                     27/34
  Verifying  : libX11-common-1.6.5-1.el7.noarch                           28/34
  Verifying  : libXau-1.0.8-2.1.el7.x86_64                                29/34
  Verifying  : libSM-1.2.2-2.el7.x86_64                                   30/34
  Verifying  : fontconfig-2.10.95-11.el7.x86_64                           31/34
  Verifying  : libfontenc-1.1.3-3.el7.x86_64                              32/34
  Verifying  : alsa-lib-1.1.3-3.el7.x86_64                                33/34
  Verifying  : 1:xorg-x11-font-utils-7.5-20.el7.x86_64                    34/34

Installed:
  java-1.8.0-openjdk.x86_64 1:1.8.0.144-0.b01.el7_4  wget.x86_64 0:1.14-15.el7

Dependency Installed:
  alsa-lib.x86_64 0:1.1.3-3.el7
  copy-jdk-configs.noarch 0:2.2-3.el7
  fontconfig.x86_64 0:2.10.95-11.el7
  fontpackages-filesystem.noarch 0:1.44-8.el7
  freetype.x86_64 0:2.4.11-15.el7
  giflib.x86_64 0:4.1.6-9.el7
  java-1.8.0-openjdk-headless.x86_64 1:1.8.0.144-0.b01.el7_4
  javapackages-tools.noarch 0:3.4.1-11.el7
  libICE.x86_64 0:1.0.9-9.el7
  libSM.x86_64 0:1.2.2-2.el7
  libX11.x86_64 0:1.6.5-1.el7
  libX11-common.noarch 0:1.6.5-1.el7
  libXau.x86_64 0:1.0.8-2.1.el7
  libXcomposite.x86_64 0:0.4.4-4.1.el7
  libXext.x86_64 0:1.3.3-3.el7
  libXfont.x86_64 0:1.5.2-1.el7
  libXi.x86_64 0:1.7.9-1.el7
  libXrender.x86_64 0:0.9.10-1.el7
  libXtst.x86_64 0:1.2.3-1.el7
  libfontenc.x86_64 0:1.1.3-3.el7
  libjpeg-turbo.x86_64 0:1.2.90-5.el7
  libpng.x86_64 2:1.5.13-7.el7_2
  libxcb.x86_64 0:1.12-1.el7
  libxslt.x86_64 0:1.1.28-5.el7
  lksctp-tools.x86_64 0:1.0.17-2.el7
  python-javapackages.noarch 0:3.4.1-11.el7
  python-lxml.x86_64 0:3.2.1-4.el7
  stix-fonts.noarch 0:1.1.0-5.el7
  ttmkfdir.x86_64 0:3.0.9-42.el7
  tzdata-java.noarch 0:2017b-1.el7
  xorg-x11-font-utils.x86_64 1:7.5-20.el7
  xorg-x11-fonts-Type1.noarch 0:7.5-9.el7

Complete!
Loaded plugins: fastestmirror, ovl
Cleaning repos: base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
 ---> a8d71bfb19cf
Removing intermediate container 22afe184a202
Step 3/16 : RUN mkdir -p /tomcat
 ---> Running in 9a528c0c06eb
 ---> 86f576d8387a
Removing intermediate container 9a528c0c06eb
Step 4/16 : ENV CATALINA_HOME /tomcat
 ---> Running in 6ae602d81449
 ---> 238dce716da1
Removing intermediate container 6ae602d81449
Step 5/16 : WORKDIR $CATALINA_HOME
 ---> a4f30cbfb87f
Removing intermediate container 7ecfd9a69e09
Step 6/16 : ADD get_tomcat.sh $CATALINA_HOME
 ---> 16bf927a7186
Step 7/16 : RUN chmod +x $CATALINA_HOME/get_tomcat.sh
 ---> Running in 7ab22cbc0408
 ---> 8889ce23b8b8
Removing intermediate container 7ab22cbc0408
Step 8/16 : RUN $CATALINA_HOME/get_tomcat.sh
 ---> Running in c9c6c57b9b48
 ---> 8b5270cb598f
Removing intermediate container c9c6c57b9b48
Step 9/16 : RUN mv $CATALINA_HOME/apache-tomcat-8.5.20/* $CATALINA_HOME/
 ---> Running in 5aa37fa1b504
 ---> 71238010620c
Removing intermediate container 5aa37fa1b504
Step 10/16 : RUN rm -rf $CATALINA_HOME/apache-tomcat-8.5.20
 ---> Running in d2edca974b2a
 ---> 05fa6126fbc2
Removing intermediate container d2edca974b2a
Step 11/16 : WORKDIR $CATALINA_HOME/webapps
 ---> 704052b7cc33
Removing intermediate container 7197e5e2b569
Step 12/16 : ADD get_latest_magnolia.sh $CATALINA_HOME/webapps
 ---> 8039b8abab97
Step 13/16 : RUN chmod +x $CATALINA_HOME/webapps/get_latest_magnolia.sh
 ---> Running in 01dbf588a5f7
 ---> c4507fd70520
Removing intermediate container 01dbf588a5f7
Step 14/16 : RUN $CATALINA_HOME/webapps/get_latest_magnolia.sh
 ---> Running in ca53fcfb662b
 ---> 50d6a91452f6
Removing intermediate container ca53fcfb662b
Step 15/16 : CMD $CATALINA_HOME/bin/catalina.sh run
 ---> Running in 9505f039346f
 ---> 35f92957b52d
Removing intermediate container 9505f039346f
Step 16/16 : EXPOSE 8080
 ---> Running in f73dc5888eae
 ---> a848ee1c2d8c
Removing intermediate container f73dc5888eae
Successfully built a848ee1c2d8c
Successfully tagged bda-1:latest
[ghost@pvnp magnolia-base]$ 

...

Expand
Code Block
languagebash
[ghost@pvnp magnolia-basebandersen@li1397-60 docker]$ sudo docker history bdamagnolia-1
IMAGE               CREATED              CREATED BY                                      SIZE                COMMENT
a848ee1c2d8cbdd17317d6ff        3 minutes ago About a minute ago   /bin/sh -c #(nop)  EXPOSE 8080/tcp CMD ["catalina.sh" "run"]    0 B
e1e6b0e76442        0B
35f92957b52d3 minutes   ago    About a minute ago   /bin/sh -c #(nop)  CMD ["$CATALINA_HOME/bi...   0B
50d6a91452f6EXPOSE 8080/tcp              0 B
183406bb49e2        3 minutes ago About a minute ago   /bin/sh -c $CATALINA_HOME/webapps/get_late...   170 169MBMB
c4507fd70520b3d6f0e074f6        63 minutes ago        /bin/sh -c chmod +x $CATALINA_HOME/webapps...   1.17kB17 kB
8039b8abab97b9e91f2ba419        63 minutes ago        /bin/sh -c #(nop) ADD file:423cc5b865c04395d32b9a35e98094...   1.17kB17 kB
704052b7cc335e4e1cda55b8        67 minutes ago        /bin/sh -c #(nop) WORKDIR /tomcat/webapps       0 0BB
05fa6126fbc2c466f5c0cc60        67 minutes ago        /bin/sh -c rm -rf $CATALINA_HOME/apache-to...   0 0BB
71238010620cb6598823e271        67 minutes ago        /bin/sh -c mv $CATALINA_HOME/apache-tomcat...   13.3MB6 MB
8b5270cb598f78e123db89b8        67 minutes ago        /bin/sh -c $CATALINA_HOME/get_tomcat.sh         13.3MB6 MB
8889ce23b8b8f408c365b67a        67 minutes ago        /bin/sh -c chmod +x $CATALINA_HOME/get_tom...   315 315BB
16bf927a7186a905e06737ef        67 minutes ago        /bin/sh -c #(nop) ADD file:8e463b6ae893b09fef7f742f24b284...   315 315BB
a4f30cbfb87f6fdccd490e0b        67 minutes ago        /bin/sh -c #(nop) WORKDIR /tomcat               0 0BB
238dce716da177b836791f22        67 minutes ago        /bin/sh -c #(nop)  ENV CATALINA_HOMEPATH=/tomcat/bin:/u...   0 0BB
86f576d8387a602cf9f15dd4        67 minutes ago        /bin/sh -c mkdir -p #(nop)  ENV CATALINA_HOME=/tomcat    0 B
8039f2f879a6        7 minutes ago      0B
a8d71bfb19cf        6 /bin/sh -c mkdir -p /tomcat                     0 B
55a4fca18ee5        7 minutes ago        /bin/sh -c yum -y update && yum -y install...   165 165MBMB
196e0ce0c9fbe934aafc2206        411 days ago           /bin/sh -c #(nop)  CMD ["/bin/bash"]            0 0BB
<missing>           411 days ago           /bin/sh -c #(nop)  LABEL name=CentOS Base org.label-schema....   0 0BB
<missing>           411 days ago           /bin/sh -c #(nop) ADD file:1ed4d1a29d09a63f755805244a649e...   199 197MBMB
[ghost@pvnp magnolia-basebandersen@li1397-60 docker]$

Notice: a new image was built for every command.  A new 'layer' was added.  To roll things back, we can simply peel off layers.

We can see what images we now have:

Expand
Code Block
[ghost@pvnp magnolia-basebandersen@li1397-60 docker]$ sudo docker images
REPOSITORY          TAG                 IMAGE ID       TAG     CREATED            IMAGE SIZE
bda-1ID            CREATED   latest          SIZE
magnolia-1    a848ee1c2d8c        5 minutes ago       558MB
centos              latest              196e0ce0c9fbbdd17317d6ff        4 minutes ago       561 MB
172.30.1.1:5000/default/magnoliaauthor       latest              c0d8a34a0148        About an hour ago   1.28 GB
172.30.1.1:5000/default/magnoliaauthor       <none>              728ea9b1a021        About an hour ago   952 MB
docker.io/openshift/origin-web-console       v3.9.0              93da30625d17        18 hours ago        489 MB
docker.io/openshift/origin-docker-registry   v3.9.0              332011373060        18 hours ago        458 MB
docker.io/openshift/origin-haproxy-router    v3.9.0              3cc00bbb78d2        18 hours ago        1.28 GB
docker.io/openshift/origin-sti-builder       v3.9.0              f0cdca432426        18 hours ago        1.25 GB
docker.io/openshift/origin-deployer          v3.9.0              54163b3c1188        18 hours ago        1.25 GB
docker.io/openshift/origin                   v3.9.0              64dc597680f1        18 hours ago        1.25 GB
docker.io/openshift/origin-pod               v3.9.0              2837a3e794fe        18 hours ago        220 MB
docker.io/centos                             latest              e934aafc2206        11 days ago         199    197MB
[ghost@pvnp magnolia-baseMB
docker.io/openshift/wildfly-101-centos7      <none>              fdd589482018        4 weeks ago         952 MB
[bandersen@li1397-60 docker]$

Notice the difference in size between the base CentOS image, and the one we have now created.

Now I could also rebuilt rebuild it under a different name, or add something.  This is where some of the speed comes in.  If I just run it again, Docker is smart enough to realize I did not add anything, and so you'd get output like this:

Expand
Code Block
languagebash
[ghost@pvnp magnolia-base]$bandersen@li1397-60 docker]$ date ; sudo docker build -t bdamagnolia-23 . ; date
Wed Apr 18 13:11:38 UTC 2018
Sending build context to Docker daemon   7.68kB6.656 kB
Step 1/1417 : FROM centos:latest
 ---> 196e0ce0c9fbe934aafc2206
Step 2/1417 : RUN yum -y update && yum -y install java wget && yum clean all
 ---> Using cache
 ---> a8d71bfb19cf55a4fca18ee5
Step 3/1417 : RUN mkdir -p /tomcat
 ---> Using cache
 ---> 86f576d8387a8039f2f879a6
Step 4/1417 : ENV CATALINA_HOME /tomcat
 ---> Using cache
 ---> 238dce716da1602cf9f15dd4
Step 5/1417 : ENV PATH $CATALINA_HOME/bin:$PATH
 ---> Using cache
 ---> 77b836791f22
Step 6/17 : WORKDIR $CATALINA_HOME
 ---> Using cache
 ---> a4f30cbfb87f6fdccd490e0b
Step 67/1417 : ADD get_tomcat.sh $CATALINA_HOME
 ---> Using cache
 ---> 16bf927a7186a905e06737ef
Step 78/1417 : RUN chmod +x $CATALINA_HOME/get_tomcat.sh
 ---> Using cache
 ---> 8889ce23b8b8f408c365b67a
Step 89/1417 : RUN $CATALINA_HOME/get_tomcat.sh
 ---> Using cache
 ---> 8b5270cb598f78e123db89b8
Step 910/1417 : RUN mv $CATALINA_HOME/apache-tomcat-8.5.2030/* $CATALINA_HOME/
 ---> Using cache
 ---> 71238010620cb6598823e271
Step 1011/1417 : RUN rm -rf $CATALINA_HOME/apache-tomcat-8.5.2030
 ---> Using cache
 ---> 05fa6126fbc2c466f5c0cc60
Step 1112/1417 : WORKDIR $CATALINA_HOME/webapps
 ---> Using cache
 ---> 704052b7cc335e4e1cda55b8
Step 1213/1417 : ADD get_latest_magnolia.sh $CATALINA_HOME/webapps
 ---> Using cache
 ---> 8039b8abab97b9e91f2ba419
Step 1314/1417 : RUN chmod +x $CATALINA_HOME/webapps/get_latest_magnolia.sh
 ---> Using cache
 ---> c4507fd70520b3d6f0e074f6
Step 1415/1417 : RUN $CATALINA_HOME/webapps/get_latest_magnolia.sh
 ---> Using cache
 ---> 183406bb49e2
Step 16/17 : EXPOSE 8080
 ---> Using cache
 ---> 50d6a91452f6 e1e6b0e76442
Step 17/17 : CMD catalina.sh run
 ---> Using cache
 ---> bdd17317d6ff
Successfully built 50d6a91452f6bdd17317d6ff
SuccessfullyWed Apr tagged bda-2:latest
[ghost@pvnp magnolia-base]$18 13:11:38 UTC 2018
[bandersen@li1397-60 docker]$

See how it is "using cache" for all those steps? This took no time at all to run (literally less than one second).

https://blogs.magnolia-cms.com/nicolas-barbe/detail~&magnolia-devops-series--part-1--a-docker-image-for-magnolia~.html
https://blogs.magnolia-cms.com/nicolas-barbe/detail~&magnolia-devops-series--part-2--orchestration-with-docker-compose~.html
https://blogs.magnolia-cms.com/nicolas-barbe/detail~&magnolia-devops-series--part-3--automate-your-deployment-on-multiple-hosts~.html
https://blogs.magnolia-cms.com/jan-haderka/detail~&docker--amazon-ec2-and-continuous-builds-using-jenkins~.html

...