From 9dec4dc4f05315c0ee43ffe86cda147b4064250a Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Thu, 23 Mar 2017 05:05:25 +0000 Subject: [PATCH] Put dockerfiles in seperate folders --- centos/Dockerfile | 17 +++++++++ debian/Dockerfile | 18 +++++++++ dockerfiles/Dockerfile-centos | 69 ----------------------------------- dockerfiles/Dockerfile-debian | 63 -------------------------------- dockerfiles/Dockerfile-ubuntu | 63 -------------------------------- ubuntu/Dockerfile | 18 +++++++++ 6 files changed, 53 insertions(+), 195 deletions(-) create mode 100644 centos/Dockerfile create mode 100644 debian/Dockerfile delete mode 100644 dockerfiles/Dockerfile-centos delete mode 100644 dockerfiles/Dockerfile-debian delete mode 100644 dockerfiles/Dockerfile-ubuntu create mode 100644 ubuntu/Dockerfile diff --git a/centos/Dockerfile b/centos/Dockerfile new file mode 100644 index 0000000..a793881 --- /dev/null +++ b/centos/Dockerfile @@ -0,0 +1,17 @@ +FROM centos:7 + +ENV PROJECT=cinder +ARG DOCKER_REPO=yaodu/openstack-requirements +ARG DOCKER_TAG=centos +ARG WHEELS +ARG GIT_REPO=https://github.com/openstack/${PROJECT} +ARG GIT_REF +ARG GIT_REF_REPO=https://git.openstack.org/openstack/${PROJECT} +ARG SCRIPTS=https://github.com/yaodu/common/archive/0.1.2.tar.gz + +RUN set -x \ + && yum install --setopt=tsflags=nodocs -y python curl \ + && curl -sSL $SCRIPTS | tar xz -C /tmp/ --strip-components=2 \ + && /tmp/download.sh $DOCKER_REPO $DOCKER_TAG $WHEELS \ + && /tmp/install.sh $PROJECT $GIT_REPO $GIT_REF_REPO $GIT_REF \ + && /tmp/cleanup.sh diff --git a/debian/Dockerfile b/debian/Dockerfile new file mode 100644 index 0000000..174dbcf --- /dev/null +++ b/debian/Dockerfile @@ -0,0 +1,18 @@ +FROM debian:jessie-slim + +ENV PROJECT=cinder +ARG DOCKER_REPO=yaodu/openstack-requirements +ARG DOCKER_TAG=latest +ARG WHEELS +ARG GIT_REPO=https://github.com/openstack/${PROJECT} +ARG GIT_REF +ARG GIT_REF_REPO=https://git.openstack.org/openstack/${PROJECT} +ARG SCRIPTS=https://github.com/yaodu/common/archive/0.1.2.tar.gz + +RUN set -x \ + && apt-get update \ + && apt-get install -y --no-install-recommends python ca-certificates curl \ + && curl -sSL $SCRIPTS | tar xz -C /tmp/ --strip-components=2 \ + && /tmp/download.sh $DOCKER_REPO $DOCKER_TAG $WHEELS \ + && /tmp/install.sh $PROJECT $GIT_REPO $GIT_REF_REPO $GIT_REF \ + && /tmp/cleanup.sh diff --git a/dockerfiles/Dockerfile-centos b/dockerfiles/Dockerfile-centos deleted file mode 100644 index 114792b..0000000 --- a/dockerfiles/Dockerfile-centos +++ /dev/null @@ -1,69 +0,0 @@ -FROM centos:7 - -ENV PROJECT=cinder -ARG DOCKER_REPO=yaodu/openstack-requirements -ARG DOCKER_TAG=centos -ARG WHEELS -ARG GIT_REPO=https://github.com/openstack/${PROJECT} -ARG GIT_REF -ARG GIT_REF_REPO=https://git.openstack.org/openstack/${PROJECT} - -RUN set -x \ - && yum install --setopt=tsflags=nodocs -y \ -# Project specific packages start - python \ - httpd \ - mod_ssl \ - mod_wsgi \ -# Project specific packages end - && yum install --setopt=tsflags=nodocs -y git \ -# common install start - && if [ -n "$WHEELS" ]; then \ - curl -sSL ${WHEELS} > /tmp/wheels.tar.gz; \ - else \ - TOKEN=$(curl -sSL "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${DOCKER_REPO}:pull" | \ - python -c "import sys, json; print json.load(sys.stdin)['token']") \ - && BLOB=$(curl -sSL -H "Authorization: Bearer ${TOKEN}" https://registry.hub.docker.com/v2/${DOCKER_REPO}/manifests/${DOCKER_TAG} | \ - python -c "import sys, json; print json.load(sys.stdin)['fsLayers'][0]['blobSum']") \ - && curl -sSL -H "Authorization: Bearer ${TOKEN}" https://registry.hub.docker.com/v2/${DOCKER_REPO}/blobs/${BLOB} > /tmp/wheels.tar.gz; \ - fi \ - && git clone ${GIT_REPO} /tmp/${PROJECT} \ - && if [ -n "$GIT_REF" ]; then \ - git --git-dir /tmp/${PROJECT}/.git fetch ${GIT_REF_REPO} ${GIT_REF} \ - && git --git-dir /tmp/${PROJECT}/.git checkout FETCH_HEAD; \ - fi \ - && mkdir /tmp/packages \ - && tar xf /tmp/wheels.tar.gz -C /tmp/packages/ --strip-components=2 root/packages \ - && curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ - && python get-pip.py \ - && rm get-pip.py \ - && pip install --no-cache-dir --no-index --no-compile --find-links /tmp/packages --constraint /tmp/packages/upper-constraints.txt /tmp/${PROJECT} \ - && groupadd -g 42424 ${PROJECT} \ - && useradd -u 42424 -g ${PROJECT} -M -d /var/lib/${PROJECT} -s /usr/sbin/nologin -c "${PROJECT} user" ${PROJECT} \ - && mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} \ - && chown ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} \ -# common install end -# Project specific command block start - && pip install --no-cache-dir --no-index --no-compile --find-links /tmp/packages --constraint /tmp/packages/upper-constraints.txt \ - python-memcached \ - pymysql \ - && cp -rfv /tmp/${PROJECT}/etc/cinder/* /etc/${PROJECT}/ \ - && chown -R ${PROJECT}:${PROJECT} /etc/${PROJECT} \ - && chown root:root /etc/${PROJECT}/policy.json \ -# Disable default apache config: - && sed -i 's/^Listen 80/#Listen 80/' /etc/httpd/conf/httpd.conf \ - && rm /etc/httpd/conf.d/* \ -# Provide compatibility with ubuntu/debian apache: - && ln -s /usr/sbin/httpd /usr/sbin/apache2 \ - && mkdir -p /etc/apache2/conf-enabled \ - && echo "IncludeOptional /etc/apache2/conf-enabled/*.conf" >> /etc/httpd/conf/httpd.conf \ - && mkdir -p /etc/apache2/mods-available \ - && echo "Include /etc/apache2/mods-available/*.conf" >> /etc/httpd/conf/httpd.conf \ - && touch /etc/apache2/envvars \ -# Project specific command block end - && yum history -y undo $(yum history list git | tail -2 | head -1 | awk '{ print $1}') \ - && rpm -e --nodeps centos-logos \ - && yum clean all \ - && rm -rf /tmp/* /root/.cache \ - && pip uninstall pip wheel -y \ - && find / -type f -name "*.pyc" -delete diff --git a/dockerfiles/Dockerfile-debian b/dockerfiles/Dockerfile-debian deleted file mode 100644 index 357373f..0000000 --- a/dockerfiles/Dockerfile-debian +++ /dev/null @@ -1,63 +0,0 @@ -FROM debian:jessie - -ENV PROJECT=cinder -ARG DOCKER_REPO=yaodu/openstack-requirements -ARG DOCKER_TAG=latest -ARG WHEELS -ARG GIT_REPO=https://github.com/openstack/${PROJECT} -ARG GIT_REF -ARG GIT_REF_REPO=https://git.openstack.org/openstack/${PROJECT} - -RUN set -x \ - && apt-key adv --fetch-keys "http://download.ceph.com/keys/release.asc" \ - && echo "deb http://download.ceph.com/debian-jewel jessie main" > /etc/apt/sources.list.d/ceph.list \ - && apt-get update \ - && apt-get install -y --no-install-recommends \ -# Project specific packages start - python \ - python-rados \ - apache2 \ - libapache2-mod-wsgi \ -# Project specific packages end - && apt-get install -y --no-install-recommends ca-certificates curl git \ -# common install start - && if [ -n "$WHEELS" ]; then \ - curl -sSL ${WHEELS} > /tmp/wheels.tar.gz; \ - else \ - TOKEN=$(curl -sSL "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${DOCKER_REPO}:pull" | \ - python -c "import sys, json; print json.load(sys.stdin)['token']") \ - && BLOB=$(curl -sSL -H "Authorization: Bearer ${TOKEN}" https://registry.hub.docker.com/v2/${DOCKER_REPO}/manifests/${DOCKER_TAG} | \ - python -c "import sys, json; print json.load(sys.stdin)['fsLayers'][0]['blobSum']") \ - && curl -sSL -H "Authorization: Bearer ${TOKEN}" https://registry.hub.docker.com/v2/${DOCKER_REPO}/blobs/${BLOB} > /tmp/wheels.tar.gz; \ - fi \ - && git clone ${GIT_REPO} /tmp/${PROJECT} \ - && if [ -n "$GIT_REF" ]; then \ - git --git-dir /tmp/${PROJECT}/.git fetch ${GIT_REF_REPO} ${GIT_REF} \ - && git --git-dir /tmp/${PROJECT}/.git checkout FETCH_HEAD; \ - fi \ - && mkdir /tmp/packages \ - && tar xf /tmp/wheels.tar.gz -C /tmp/packages/ --strip-components=2 root/packages \ - && curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ - && python get-pip.py \ - && rm get-pip.py \ - && pip install --no-cache-dir --no-index --no-compile --find-links /tmp/packages --constraint /tmp/packages/upper-constraints.txt /tmp/${PROJECT} \ - && groupadd -g 42424 ${PROJECT} \ - && useradd -u 42424 -g ${PROJECT} -M -d /var/lib/${PROJECT} -s /usr/sbin/nologin -c "${PROJECT} user" ${PROJECT} \ - && mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} \ - && chown ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} \ -# common install end -# Project specific command block start - && pip install --no-cache-dir --no-index --no-compile --find-links /tmp/packages --constraint /tmp/packages/upper-constraints.txt \ - python-memcached \ - pymysql \ - && cp -rfv /tmp/${PROJECT}/etc/cinder/* /etc/${PROJECT}/ \ - && chown -R ${PROJECT}:${PROJECT} /etc/${PROJECT} \ - && chown root:root /etc/${PROJECT}/policy.json \ -# Disable default apache config: - && rm /etc/apache2/ports.conf /etc/apache2/sites-enabled/* /etc/apache2/sites-available/* \ - && touch /etc/apache2/ports.conf \ -# Project specific command block end - && apt-get purge -y --auto-remove ca-certificates curl git \ - && rm -rf /var/lib/apt/lists/* /tmp/* /root/.cache \ - && pip uninstall pip wheel -y \ - && find / -type f -name "*.pyc" -delete diff --git a/dockerfiles/Dockerfile-ubuntu b/dockerfiles/Dockerfile-ubuntu deleted file mode 100644 index a75ce17..0000000 --- a/dockerfiles/Dockerfile-ubuntu +++ /dev/null @@ -1,63 +0,0 @@ -FROM ubuntu:xenial - -ENV PROJECT=cinder -ARG DOCKER_REPO=yaodu/openstack-requirements -ARG DOCKER_TAG=ubuntu -ARG WHEELS -ARG GIT_REPO=https://github.com/openstack/${PROJECT} -ARG GIT_REF -ARG GIT_REF_REPO=https://git.openstack.org/openstack/${PROJECT} - -RUN set -x \ - && apt-key adv --fetch-keys "http://download.ceph.com/keys/release.asc" \ - && echo "deb http://download.ceph.com/debian-jewel xenial main" > /etc/apt/sources.list.d/ceph.list \ - && apt-get update \ - && apt-get install -y --no-install-recommends \ -# Project specific packages start - python \ - python-rados \ - apache2 \ - libapache2-mod-wsgi \ -# Project specific packages end - && apt-get install -y --no-install-recommends ca-certificates curl git \ -# common install start - && if [ -n "$WHEELS" ]; then \ - curl -sSL ${WHEELS} > /tmp/wheels.tar.gz; \ - else \ - TOKEN=$(curl -sSL "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${DOCKER_REPO}:pull" | \ - python -c "import sys, json; print json.load(sys.stdin)['token']") \ - && BLOB=$(curl -sSL -H "Authorization: Bearer ${TOKEN}" https://registry.hub.docker.com/v2/${DOCKER_REPO}/manifests/${DOCKER_TAG} | \ - python -c "import sys, json; print json.load(sys.stdin)['fsLayers'][0]['blobSum']") \ - && curl -sSL -H "Authorization: Bearer ${TOKEN}" https://registry.hub.docker.com/v2/${DOCKER_REPO}/blobs/${BLOB} > /tmp/wheels.tar.gz; \ - fi \ - && git clone ${GIT_REPO} /tmp/${PROJECT} \ - && if [ -n "$GIT_REF" ]; then \ - git --git-dir /tmp/${PROJECT}/.git fetch ${GIT_REF_REPO} ${GIT_REF} \ - && git --git-dir /tmp/${PROJECT}/.git checkout FETCH_HEAD; \ - fi \ - && mkdir /tmp/packages \ - && tar xf /tmp/wheels.tar.gz -C /tmp/packages/ --strip-components=2 root/packages \ - && curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ - && python get-pip.py \ - && rm get-pip.py \ - && pip install --no-cache-dir --no-index --no-compile --find-links /tmp/packages --constraint /tmp/packages/upper-constraints.txt /tmp/${PROJECT} \ - && groupadd -g 42424 ${PROJECT} \ - && useradd -u 42424 -g ${PROJECT} -M -d /var/lib/${PROJECT} -s /usr/sbin/nologin -c "${PROJECT} user" ${PROJECT} \ - && mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} \ - && chown ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} \ -# common install end -# Project specific command block start - && pip install --no-cache-dir --no-index --no-compile --find-links /tmp/packages --constraint /tmp/packages/upper-constraints.txt \ - python-memcached \ - pymysql \ - && cp -rfv /tmp/${PROJECT}/etc/cinder/* /etc/${PROJECT}/ \ - && chown -R ${PROJECT}:${PROJECT} /etc/${PROJECT} \ - && chown root:root /etc/${PROJECT}/policy.json \ -# Disable default apache config: - && rm /etc/apache2/ports.conf /etc/apache2/sites-enabled/* /etc/apache2/sites-available/* \ - && touch /etc/apache2/ports.conf \ -# Project specific command block end - && apt-get purge -y --auto-remove ca-certificates curl git \ - && rm -rf /var/lib/apt/lists/* /tmp/* /root/.cache \ - && pip uninstall pip wheel -y \ - && find / -type f -name "*.pyc" -delete diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile new file mode 100644 index 0000000..2caca65 --- /dev/null +++ b/ubuntu/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:xenial + +ENV PROJECT=cinder +ARG DOCKER_REPO=yaodu/openstack-requirements +ARG DOCKER_TAG=ubuntu +ARG WHEELS +ARG GIT_REPO=https://github.com/openstack/${PROJECT} +ARG GIT_REF +ARG GIT_REF_REPO=https://git.openstack.org/openstack/${PROJECT} +ARG SCRIPTS=https://github.com/yaodu/common/archive/0.1.2.tar.gz + +RUN set -x \ + && apt-get update \ + && apt-get install -y --no-install-recommends python ca-certificates curl \ + && curl -sSL $SCRIPTS | tar xz -C /tmp/ --strip-components=2 \ + && /tmp/download.sh $DOCKER_REPO $DOCKER_TAG $WHEELS \ + && /tmp/install.sh $PROJECT $GIT_REPO $GIT_REF_REPO $GIT_REF \ + && /tmp/cleanup.sh