]> git.immae.eu Git - github/fretlink/docker-ansible.git/commitdiff
Add: systemd support in CentOS 7
authorWilliam Yeh <william.pjyeh@gmail.com>
Tue, 29 Mar 2016 10:25:25 +0000 (18:25 +0800)
committerWilliam Yeh <william.pjyeh@gmail.com>
Tue, 29 Mar 2016 10:25:25 +0000 (18:25 +0800)
@see https://hub.docker.com/_/centos/
@see https://github.com/vlisivka/docker-centos7-systemd-unpriv

.travis.yml
1.9-centos7-onbuild/Dockerfile
1.9-centos7/Dockerfile
centos7-onbuild/Dockerfile
centos7-onbuild/ansible-playbook-wrapper
centos7/Dockerfile
circle.yml
master-centos7-onbuild/Dockerfile
master-centos7/Dockerfile

index 9725e04fa958b3ca9ea0388a43999f3846b7ebc0..060b99cc949815d2ff59f48ad2b2591d5f4a52af 100644 (file)
@@ -44,14 +44,14 @@ before_install:
     - docker build  -t ansible_master_precise          master-ubuntu12.04
     - docker build  -t ansible_master_jessie           master-debian8
     - docker build  -t ansible_master_wheezy           master-debian7
-    #- docker build  -t ansible_master_centos7          master-centos7
+    - docker build  -t ansible_master_centos7          master-centos7
     - docker build  -t ansible_master_centos6          master-centos6
 
     - docker build  -t ansible_master_trusty_onbuild   master-ubuntu14.04-onbuild
     - docker build  -t ansible_master_precise_onbuild  master-ubuntu12.04-onbuild
     - docker build  -t ansible_master_jessie_onbuild   master-debian8-onbuild
     - docker build  -t ansible_master_wheezy_onbuild   master-debian7-onbuild
-    #- docker build  -t ansible_master_centos7_onbuild  master-centos7-onbuild
+    - docker build  -t ansible_master_centos7_onbuild  master-centos7-onbuild
     - docker build  -t ansible_master_centos6_onbuild  master-centos6-onbuild
 
 script:
@@ -91,13 +91,13 @@ script:
     - docker run -i ansible_master_precise          > result-master-ubuntu12.04
     - docker run -i ansible_master_jessie           > result-master-debian8
     - docker run -i ansible_master_wheezy           > result-master-debian7
-    #- docker run -i ansible_master_centos7          > result-master-centos7
+    - docker run -i ansible_master_centos7          > result-master-centos7
     - docker run -i ansible_master_centos6          > result-master-centos6
     - docker run -i ansible_master_trusty_onbuild   > result-master-ubuntu14.04-onbuild
     - docker run -i ansible_master_precise_onbuild  > result-master-ubuntu12.04-onbuild
     - docker run -i ansible_master_jessie_onbuild   > result-master-debian8-onbuild
     - docker run -i ansible_master_wheezy_onbuild   > result-master-debian7-onbuild
-    #- docker run -i ansible_master_centos7_onbuild  > result-master-centos7-onbuild
+    - docker run -i ansible_master_centos7_onbuild  > result-master-centos7-onbuild
     - docker run -i ansible_master_centos6_onbuild  > result-master-centos6-onbuild
 
 
@@ -137,11 +137,11 @@ script:
     - sh -c "[ -s result-master-ubuntu12.04         ]"
     - sh -c "[ -s result-master-debian8             ]"
     - sh -c "[ -s result-master-debian7             ]"
-    #- sh -c "[ -s result-master-centos7             ]"
+    - sh -c "[ -s result-master-centos7             ]"
     - sh -c "[ -s result-master-centos6             ]"
     - sh -c "[ -s result-master-ubuntu14.04-onbuild ]"
     - sh -c "[ -s result-master-ubuntu12.04-onbuild ]"
     - sh -c "[ -s result-master-debian8-onbuild     ]"
     - sh -c "[ -s result-master-debian7-onbuild     ]"
-    #- sh -c "[ -s result-master-centos7-onbuild     ]"
+    - sh -c "[ -s result-master-centos7-onbuild     ]"
     - sh -c "[ -s result-master-centos6-onbuild     ]"
index e9054b381553c414156efe9c81087fb8a2f9b489..7b8e0285b743d7f8a809ba06aa756e325f24f53e 100644 (file)
@@ -17,7 +17,22 @@ FROM centos:centos7
 MAINTAINER William Yeh <william.pjyeh@gmail.com>
 
 
-RUN echo "===> Installing EPEL..."        && \
+# enable systemd;
+# @see https://hub.docker.com/_/centos/
+ENV container docker
+
+RUN echo "===> Enabling systemd..."  && \
+    (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
+    rm -f /lib/systemd/system/multi-user.target.wants/*;      \
+    rm -f /etc/systemd/system/*.wants/*;                      \
+    rm -f /lib/systemd/system/local-fs.target.wants/*;        \
+    rm -f /lib/systemd/system/sockets.target.wants/*udev*;    \
+    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
+    rm -f /lib/systemd/system/basic.target.wants/*;           \
+    rm -f /lib/systemd/system/anaconda.target.wants/*      && \
+    \
+    \    
+    echo "===> Installing EPEL..."        && \
     yum -y install epel-release           && \
     \
     \
@@ -48,6 +63,19 @@ RUN echo "===> Installing EPEL..."        && \
     echo 'localhost' > /etc/ansible/hosts
 
 
+#
+# [Quote] https://hub.docker.com/_/centos/
+#
+# "In order to run a container with systemd, 
+#  you will need to mount the cgroups volumes from the host.
+#  [...]
+#  There have been reports that if you're using an Ubuntu host,
+#  you will need to add -v /tmp/$(mktemp -d):/run
+#  in addition to the cgroups mount."
+#
+VOLUME [ "/sys/fs/cgroup", "/run" ]
+
+
 COPY ansible-playbook-wrapper /usr/local/bin/
 
 ONBUILD  WORKDIR /tmp
index 681ac2793fcc71e4ff109802947cbc770adfa064..8d6da8542a7b37306d6c1080b1ec199bc84fddc3 100644 (file)
@@ -17,7 +17,22 @@ FROM centos:centos7
 MAINTAINER William Yeh <william.pjyeh@gmail.com>
 
 
-RUN echo "===> Installing EPEL..."        && \
+# enable systemd;
+# @see https://hub.docker.com/_/centos/
+ENV container docker
+
+RUN echo "===> Enabling systemd..."  && \
+    (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
+    rm -f /lib/systemd/system/multi-user.target.wants/*;      \
+    rm -f /etc/systemd/system/*.wants/*;                      \
+    rm -f /lib/systemd/system/local-fs.target.wants/*;        \
+    rm -f /lib/systemd/system/sockets.target.wants/*udev*;    \
+    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
+    rm -f /lib/systemd/system/basic.target.wants/*;           \
+    rm -f /lib/systemd/system/anaconda.target.wants/*      && \
+    \
+    \    
+    echo "===> Installing EPEL..."        && \
     yum -y install epel-release           && \
     \
     \
@@ -48,5 +63,18 @@ RUN echo "===> Installing EPEL..."        && \
     echo 'localhost' > /etc/ansible/hosts
 
 
+#
+# [Quote] https://hub.docker.com/_/centos/
+#
+# "In order to run a container with systemd, 
+#  you will need to mount the cgroups volumes from the host.
+#  [...]
+#  There have been reports that if you're using an Ubuntu host,
+#  you will need to add -v /tmp/$(mktemp -d):/run
+#  in addition to the cgroups mount."
+#
+VOLUME [ "/sys/fs/cgroup", "/run" ]
+
+
 # default command: display Ansible version
 CMD [ "ansible-playbook", "--version" ]
index 7d6caf09050e361077a59222bf7a45e7404de7e9..9274bee2bb2e5914eb881ac576735cbc8770061f 100644 (file)
@@ -17,7 +17,22 @@ FROM centos:centos7
 MAINTAINER William Yeh <william.pjyeh@gmail.com>
 
 
-RUN echo "===> Installing EPEL..."        && \
+# enable systemd;
+# @see https://hub.docker.com/_/centos/
+ENV container docker
+
+RUN echo "===> Enabling systemd..."  && \
+    (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
+    rm -f /lib/systemd/system/multi-user.target.wants/*;      \
+    rm -f /etc/systemd/system/*.wants/*;                      \
+    rm -f /lib/systemd/system/local-fs.target.wants/*;        \
+    rm -f /lib/systemd/system/sockets.target.wants/*udev*;    \
+    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
+    rm -f /lib/systemd/system/basic.target.wants/*;           \
+    rm -f /lib/systemd/system/anaconda.target.wants/*      && \
+    \
+    \    
+    echo "===> Installing EPEL..."        && \
     yum -y install epel-release           && \
     \
     \
@@ -48,6 +63,19 @@ RUN echo "===> Installing EPEL..."        && \
     echo 'localhost' > /etc/ansible/hosts
 
 
+#
+# [Quote] https://hub.docker.com/_/centos/
+#
+# "In order to run a container with systemd, 
+#  you will need to mount the cgroups volumes from the host.
+#  [...]
+#  There have been reports that if you're using an Ubuntu host,
+#  you will need to add -v /tmp/$(mktemp -d):/run
+#  in addition to the cgroups mount."
+#
+VOLUME [ "/sys/fs/cgroup", "/run" ]
+
+
 COPY ansible-playbook-wrapper /usr/local/bin/
 
 ONBUILD  WORKDIR /tmp
index 0ba45e6d33a5c8ac18d815a70807b630ece38444..002158d9ea5b158f429c5021764ad3088e7cc9e9 100755 (executable)
@@ -13,7 +13,6 @@
 #    - INVENTORY:    inventory filename;    default = "/etc/ansible/hosts"
 #
 
-
 #
 # install Galaxy roles, if any
 #
index e6c9f9e38baa38457386c600ea964be45d751908..0f2112db2aeaea10b0e94b99ed16ec31931254b5 100644 (file)
@@ -17,7 +17,22 @@ FROM centos:centos7
 MAINTAINER William Yeh <william.pjyeh@gmail.com>
 
 
-RUN echo "===> Installing EPEL..."        && \
+# enable systemd;
+# @see https://hub.docker.com/_/centos/
+ENV container docker
+
+RUN echo "===> Enabling systemd..."  && \
+    (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
+    rm -f /lib/systemd/system/multi-user.target.wants/*;      \
+    rm -f /etc/systemd/system/*.wants/*;                      \
+    rm -f /lib/systemd/system/local-fs.target.wants/*;        \
+    rm -f /lib/systemd/system/sockets.target.wants/*udev*;    \
+    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
+    rm -f /lib/systemd/system/basic.target.wants/*;           \
+    rm -f /lib/systemd/system/anaconda.target.wants/*      && \
+    \
+    \
+    echo "===> Installing EPEL..."        && \
     yum -y install epel-release           && \
     \
     \
@@ -47,6 +62,18 @@ RUN echo "===> Installing EPEL..."        && \
     mkdir -p /etc/ansible                          && \
     echo 'localhost' > /etc/ansible/hosts
 
+#
+# [Quote] https://hub.docker.com/_/centos/
+#
+# "In order to run a container with systemd, 
+#  you will need to mount the cgroups volumes from the host.
+#  [...]
+#  There have been reports that if you're using an Ubuntu host,
+#  you will need to add -v /tmp/$(mktemp -d):/run
+#  in addition to the cgroups mount."
+#
+VOLUME [ "/sys/fs/cgroup", "/run" ]
+
 
 # default command: display Ansible version
 CMD [ "ansible-playbook", "--version" ]
index 0fe33cecf02d827eff55a11bdcd7e6d9be15dcc7..68679553b54bcb3e8c87cc58bda25dd390d24248 100644 (file)
@@ -45,14 +45,14 @@ dependencies:
     - docker build  -t ansible_master_precise          master-ubuntu12.04
     - docker build  -t ansible_master_jessie           master-debian8
     - docker build  -t ansible_master_wheezy           master-debian7
-    #- docker build  -t ansible_master_centos7          master-centos7
+    - docker build  -t ansible_master_centos7          master-centos7
     - docker build  -t ansible_master_centos6          master-centos6
 
     - docker build  -t ansible_master_trusty_onbuild   master-ubuntu14.04-onbuild
     - docker build  -t ansible_master_precise_onbuild  master-ubuntu12.04-onbuild
     - docker build  -t ansible_master_jessie_onbuild   master-debian8-onbuild
     - docker build  -t ansible_master_wheezy_onbuild   master-debian7-onbuild
-    #- docker build  -t ansible_master_centos7_onbuild  master-centos7-onbuild
+    - docker build  -t ansible_master_centos7_onbuild  master-centos7-onbuild
     - docker build  -t ansible_master_centos6_onbuild  master-centos6-onbuild
 
 test:
@@ -93,13 +93,13 @@ test:
     - docker run -i ansible_master_precise          > result-master-ubuntu12.04
     - docker run -i ansible_master_jessie           > result-master-debian8
     - docker run -i ansible_master_wheezy           > result-master-debian7
-    #- docker run -i ansible_master_centos7          > result-master-centos7
+    - docker run -i ansible_master_centos7          > result-master-centos7
     - docker run -i ansible_master_centos6          > result-master-centos6
     - docker run -i ansible_master_trusty_onbuild   > result-master-ubuntu14.04-onbuild
     - docker run -i ansible_master_precise_onbuild  > result-master-ubuntu12.04-onbuild
     - docker run -i ansible_master_jessie_onbuild   > result-master-debian8-onbuild
     - docker run -i ansible_master_wheezy_onbuild   > result-master-debian7-onbuild
-    #- docker run -i ansible_master_centos7_onbuild  > result-master-centos7-onbuild
+    - docker run -i ansible_master_centos7_onbuild  > result-master-centos7-onbuild
     - docker run -i ansible_master_centos6_onbuild  > result-master-centos6-onbuild
 
 
@@ -139,11 +139,11 @@ test:
     - sh -c "[ -s result-master-ubuntu12.04         ]"
     - sh -c "[ -s result-master-debian8             ]"
     - sh -c "[ -s result-master-debian7             ]"
-    #- sh -c "[ -s result-master-centos7             ]"
+    - sh -c "[ -s result-master-centos7             ]"
     - sh -c "[ -s result-master-centos6             ]"
     - sh -c "[ -s result-master-ubuntu14.04-onbuild ]"
     - sh -c "[ -s result-master-ubuntu12.04-onbuild ]"
     - sh -c "[ -s result-master-debian8-onbuild     ]"
     - sh -c "[ -s result-master-debian7-onbuild     ]"
-    #- sh -c "[ -s result-master-centos7-onbuild     ]"
+    - sh -c "[ -s result-master-centos7-onbuild     ]"
     - sh -c "[ -s result-master-centos6-onbuild     ]"
index 6087ad7c0456aae57ac891c29a63478dafa5865c..6d3fa213a7dd326164d61617bfd463ef7ba7318a 100644 (file)
@@ -17,7 +17,22 @@ FROM centos:centos7
 MAINTAINER William Yeh <william.pjyeh@gmail.com>
 
 
-RUN echo "===> Installing EPEL..."   && \
+# enable systemd;
+# @see https://hub.docker.com/_/centos/
+ENV container docker
+
+RUN echo "===> Enabling systemd..."  && \
+    (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
+    rm -f /lib/systemd/system/multi-user.target.wants/*;      \
+    rm -f /etc/systemd/system/*.wants/*;                      \
+    rm -f /lib/systemd/system/local-fs.target.wants/*;        \
+    rm -f /lib/systemd/system/sockets.target.wants/*udev*;    \
+    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
+    rm -f /lib/systemd/system/basic.target.wants/*;           \
+    rm -f /lib/systemd/system/anaconda.target.wants/*      && \
+    \
+    \    
+    echo "===> Installing EPEL..."   && \
     yum -y install epel-release      && \
     yum -y update                    && \
     \
@@ -69,6 +84,19 @@ RUN echo "===> Installing EPEL..."   && \
     echo 'localhost' > /etc/ansible/hosts
 
 
+#
+# [Quote] https://hub.docker.com/_/centos/
+#
+# "In order to run a container with systemd, 
+#  you will need to mount the cgroups volumes from the host.
+#  [...]
+#  There have been reports that if you're using an Ubuntu host,
+#  you will need to add -v /tmp/$(mktemp -d):/run
+#  in addition to the cgroups mount."
+#
+VOLUME [ "/sys/fs/cgroup", "/run" ]
+
+
 ENV PATH        /opt/ansible/bin:$PATH
 ENV PYTHONPATH  /opt/ansible/lib:$PYTHONPATH
 ENV MANPATH     /opt/ansible/docs/man:$MANPATH
index 1dfa1ab70bc25a8ab8a1af4a95b05513910c8f57..51dae6017251211c9127e358cbc7eb0d11ecddca 100644 (file)
@@ -17,7 +17,22 @@ FROM centos:centos7
 MAINTAINER William Yeh <william.pjyeh@gmail.com>
 
 
-RUN echo "===> Installing EPEL..."   && \
+# enable systemd;
+# @see https://hub.docker.com/_/centos/
+ENV container docker
+
+RUN echo "===> Enabling systemd..."  && \
+    (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
+    rm -f /lib/systemd/system/multi-user.target.wants/*;      \
+    rm -f /etc/systemd/system/*.wants/*;                      \
+    rm -f /lib/systemd/system/local-fs.target.wants/*;        \
+    rm -f /lib/systemd/system/sockets.target.wants/*udev*;    \
+    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
+    rm -f /lib/systemd/system/basic.target.wants/*;           \
+    rm -f /lib/systemd/system/anaconda.target.wants/*      && \
+    \
+    \    
+    echo "===> Installing EPEL..."   && \
     yum -y install epel-release      && \
     yum -y update                    && \
     \
@@ -69,6 +84,19 @@ RUN echo "===> Installing EPEL..."   && \
     echo 'localhost' > /etc/ansible/hosts
 
 
+#
+# [Quote] https://hub.docker.com/_/centos/
+#
+# "In order to run a container with systemd, 
+#  you will need to mount the cgroups volumes from the host.
+#  [...]
+#  There have been reports that if you're using an Ubuntu host,
+#  you will need to add -v /tmp/$(mktemp -d):/run
+#  in addition to the cgroups mount."
+#
+VOLUME [ "/sys/fs/cgroup", "/run" ]
+
+
 ENV PATH        /opt/ansible/bin:$PATH
 ENV PYTHONPATH  /opt/ansible/lib:$PYTHONPATH
 ENV MANPATH     /opt/ansible/docs/man:$MANPATH