diff --git a/docker-centos/Dockerfile b/docker-centos/Dockerfile index b1c801ddbc4a57682a528b340734eae05901521c..59929b2fc986e3fbc15cebfe46704ed6ac898131 100644 --- a/docker-centos/Dockerfile +++ b/docker-centos/Dockerfile @@ -2,11 +2,10 @@ FROM centos LABEL maintainer="Giuseppe Scrivano <gscrivan@redhat.com>" -RUN yum install -y docker docker-latest container-selinux python-docker-py docker-lvm-plugin docker-rhel-push-plugin docker-novolume-plugin lvm2 iptables procps-ng xz cloud-utils-growpart && yum clean all +RUN yum install -y docker docker-latest docker-selinux python-docker-py docker-lvm-plugin docker-rhel-push-plugin docker-novolume-plugin lvm2 iptables procps-ng xz cloud-utils-growpart && yum clean all ADD init.sh /usr/bin # system container -ADD set_chroot.sh unset_chroot.sh / COPY service.template tmpfiles.template config.json.template /exports/ CMD ["/usr/bin/init.sh"] diff --git a/docker-centos/config.json.template b/docker-centos/config.json.template index 07aa65b1b2be89f485efea9097892b08fbf4b210..cb661dc233b620b447581bc188306cd460aca46f 100644 --- a/docker-centos/config.json.template +++ b/docker-centos/config.json.template @@ -105,7 +105,7 @@ }, { "type": "bind", - "source": "/var/lib", + "source": "${STATE_DIRECTORY}", "destination": "/var/lib", "options": [ "rbind", diff --git a/docker-centos/init.sh b/docker-centos/init.sh index fa2da366e96db78c3aee0a613859f638e217144e..a61f2727bde7f344892c08e42b5ecc6f0b9f9ca0 100755 --- a/docker-centos/init.sh +++ b/docker-centos/init.sh @@ -8,11 +8,7 @@ source /run/docker-bash-env -exec /usr/bin/dockerd-current \ - --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ - --default-runtime=docker-runc \ - --exec-opt native.cgroupdriver=systemd \ - --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ +exec /usr/bin/docker-current daemon \ $OPTIONS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ diff --git a/docker-centos/service.template b/docker-centos/service.template index 9f1ecc420fd61575b0e34fd5da6cb70df4d0b238..fd64d37b9b6e6e8538e87116b886420064d25297 100644 --- a/docker-centos/service.template +++ b/docker-centos/service.template @@ -7,23 +7,16 @@ EnvironmentFile=-/etc/sysconfig/docker EnvironmentFile=-/etc/sysconfig/docker-storage EnvironmentFile=-/etc/sysconfig/docker-network Environment=GOTRACEBACK=crash -Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin ExecStartPre=/bin/bash -c 'export -p > /run/docker-bash-env' -ExecStartPre=/bin/sh $DESTDIR/rootfs/set_chroot.sh $DESTDIR/rootfs -ExecStart=/usr/bin/init.sh -ExecStopPost=/bin/sh $DESTDIR/rootfs/unset_chroot.sh +ExecStart=$EXEC_START +ExecStop=$EXEC_STOP Restart=on-failure -RootDirectory=/var/lib/containers/docker-chroot -RootDirectoryStartOnly=yes -PermissionsStartOnly=yes -WorkingDirectory=/ +WorkingDirectory=$DESTDIR +RuntimeDirectory=docker LimitNOFILE=1048576 LimitNPROC=1048576 LimitCORE=infinity TimeoutStartSec=0 -KillMode=control-group -Type=simple -SELinuxContext=system_u:system_r:container_runtime_t:s0 [Install] WantedBy=multi-user.target diff --git a/docker-centos/set_chroot.sh b/docker-centos/set_chroot.sh deleted file mode 100755 index 0fd14c67a2d45c0b518f06fdb901a44d440d5b5d..0000000000000000000000000000000000000000 --- a/docker-centos/set_chroot.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -CHROOT=/var/lib/containers/docker-chroot -mount --make-rprivate / - -test -e $CHROOT/ || mkdir -p $CHROOT/ - -if ! findmnt $CHROOT/ >/dev/null 2>&1; then - mount --bind $CHROOT/ $CHROOT/ - mount --make-private $CHROOT/ -fi - -mkdir -p $CHROOT/{etc,proc,sys,var,lib/modules,usr,tmp,dev,run} - -for i in bin sbin lib lib64 -do - test -h $CHROOT/$i && rm $CHROOT/$i - test ! -d $CHROOT/$i && ln -s /usr/$i $CHROOT/$i -done - -for i in dev etc proc sys lib/modules tmp run -do - /usr/bin/mount --rbind /$i $CHROOT/$i - /usr/bin/mount --make-rslave $CHROOT/$i -done - -if ! findmnt $CHROOT/var > /dev/null 2>&1; then - /usr/bin/mount --make-rslave --bind /var $CHROOT/var -fi - -# /usr is mounted from the container -/usr/bin/mount --make-slave --read-only --rbind $1/usr $CHROOT/usr diff --git a/docker-centos/tmpfiles.template b/docker-centos/tmpfiles.template index d8dc1010c591a97a4eb78db87ca3b6a25fa41754..f06aae1d05c687ff9d9e6a552057f657368feebe 100644 --- a/docker-centos/tmpfiles.template +++ b/docker-centos/tmpfiles.template @@ -1,2 +1 @@ d /var/lib/docker - - - - - -d /var/lib/containers/docker-chroot - - - - - diff --git a/docker-centos/unset_chroot.sh b/docker-centos/unset_chroot.sh deleted file mode 100755 index 95562edb361493312f2e3467879383ec60dc513d..0000000000000000000000000000000000000000 --- a/docker-centos/unset_chroot.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -CHROOT=/var/lib/containers/docker-chroot - -# do not umount /var -for i in dev etc proc sys usr lib/modules tmp run; do - /usr/bin/umount -lR $CHROOT/$i -done