You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2018/02/25 05:40:58 UTC

[3/3] mesos git commit: Added Docker daemon to the Mesos mini container.

Added Docker daemon to the Mesos mini container.

Review: https://reviews.apache.org/r/65706


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/931a702c
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/931a702c
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/931a702c

Branch: refs/heads/master
Commit: 931a702cbcbd8f90e22fe553cf5a28d57528e857
Parents: 3f01bd8
Author: Jie Yu <yu...@gmail.com>
Authored: Sun Feb 18 22:29:07 2018 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Sat Feb 24 21:40:50 2018 -0800

----------------------------------------------------------------------
 support/mesos-mini/Dockerfile         | 20 ++++++++++++++++++--
 support/mesos-mini/docker.service     | 20 ++++++++++++++++++++
 support/mesos-mini/docker_daemon.json |  4 ++++
 support/mesos-mini/docker_env.sh      |  9 +++++++++
 4 files changed, 51 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/931a702c/support/mesos-mini/Dockerfile
----------------------------------------------------------------------
diff --git a/support/mesos-mini/Dockerfile b/support/mesos-mini/Dockerfile
index 23568a3..32ac895 100644
--- a/support/mesos-mini/Dockerfile
+++ b/support/mesos-mini/Dockerfile
@@ -1,6 +1,6 @@
 FROM mesos/mesos-centos
 
-RUN yum install -y java-1.8.0-openjdk
+RUN yum install -y java-1.8.0-openjdk iptables
 
 # Prepare systemd environment.
 ENV container docker
@@ -31,6 +31,21 @@ CMD ["/usr/sbin/init"]
 
 STOPSIGNAL SIGRTMIN+3
 
+# Prepare Docker environment.
+ARG DOCKER_RUL=https://download.docker.com/linux/static/stable/x86_64/docker-17.12.0-ce.tgz
+
+RUN mkdir -p /etc/docker && \
+    touch /etc/docker/env && \
+    curl -s $DOCKER_RUL -o /docker.tgz && \
+    tar -xzvf /docker.tgz -C /usr/local/bin --strip 1 && \
+    rm -f /docker.tgz
+
+RUN groupadd docker
+
+COPY docker.service /usr/lib/systemd/system/docker.service
+COPY docker_env.sh /etc/docker/env.sh
+COPY docker_daemon.json /etc/docker/daemon.json
+
 # Prepare Mesos environment.
 RUN chmod +x /usr/bin/mesos-init-wrapper && \
     rm -f /etc/mesos-master/work_dir && \
@@ -51,6 +66,7 @@ RUN mkdir -p $MARATHON_INSTALL_DIR && \
 COPY marathon.sh $MARATHON_INSTALL_DIR/bin/
 COPY marathon.service /usr/lib/systemd/system/marathon.service
 
-RUN systemctl enable mesos-slave && \
+RUN systemctl enable docker && \
+    systemctl enable mesos-slave && \
     systemctl enable mesos-master && \
     systemctl enable marathon

http://git-wip-us.apache.org/repos/asf/mesos/blob/931a702c/support/mesos-mini/docker.service
----------------------------------------------------------------------
diff --git a/support/mesos-mini/docker.service b/support/mesos-mini/docker.service
new file mode 100644
index 0000000..a74024c
--- /dev/null
+++ b/support/mesos-mini/docker.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=Docker Application Container Engine
+Documentation=https://docs.docker.com
+After=network.target firewalld.service
+
+[Service]
+Type=notify
+ExecStartPre=/etc/docker/env.sh
+EnvironmentFile=/etc/docker/env
+ExecStart=/usr/local/bin/dockerd --cgroup-parent=${CGROUP_PARENT}
+ExecReload=/bin/kill -s HUP $MAINPID
+LimitNOFILE=infinity
+LimitNPROC=infinity
+LimitCORE=infinity
+TimeoutStartSec=0
+Delegate=yes
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target

http://git-wip-us.apache.org/repos/asf/mesos/blob/931a702c/support/mesos-mini/docker_daemon.json
----------------------------------------------------------------------
diff --git a/support/mesos-mini/docker_daemon.json b/support/mesos-mini/docker_daemon.json
new file mode 100644
index 0000000..2269dca
--- /dev/null
+++ b/support/mesos-mini/docker_daemon.json
@@ -0,0 +1,4 @@
+{
+  "data-root": "/var/lib/docker",
+  "storage-driver": "vfs"
+}

http://git-wip-us.apache.org/repos/asf/mesos/blob/931a702c/support/mesos-mini/docker_env.sh
----------------------------------------------------------------------
diff --git a/support/mesos-mini/docker_env.sh b/support/mesos-mini/docker_env.sh
new file mode 100755
index 0000000..b82683c
--- /dev/null
+++ b/support/mesos-mini/docker_env.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o pipefail -o verbose
+
+CGROUP_PARENT=`grep memory /proc/1/cgroup | cut -d: -f3`
+
+cat <<EOF > "/etc/docker/env"
+CGROUP_PARENT=${CGROUP_PARENT}
+EOF