From bcb4977e2487ccee8c7a5257d28c03f629c7c8b5 Mon Sep 17 00:00:00 2001 From: yangyan Date: Thu, 18 Apr 2019 14:47:53 +0800 Subject: [PATCH] Optimized docker file code Change-Id: Ifdc2f06d3dc906a87fb141ada381df0abb1035b1 Signed-off-by: yangyan Issue-ID: VFC-1361 --- gvnfmadapter/docker/Dockerfile | 37 ++---------------------- gvnfmadapter/docker/docker-env-conf.sh | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 35 deletions(-) create mode 100644 gvnfmadapter/docker/docker-env-conf.sh diff --git a/gvnfmadapter/docker/Dockerfile b/gvnfmadapter/docker/Dockerfile index 205eae0..ba04755 100644 --- a/gvnfmadapter/docker/Dockerfile +++ b/gvnfmadapter/docker/Dockerfile @@ -1,48 +1,15 @@ -FROM ubuntu:14.04 +FROM python:2-alpine ARG HTTP_PROXY=${HTTP_PROXY} ARG HTTPS_PROXY=${HTTPS_PROXY} - ENV http_proxy $HTTP_PROXY ENV https_proxy $HTTPS_PROXY - -RUN sed -i "s|set compatible|set nocompatible|" /etc/vim/vimrc.tiny -RUN echo "set backspace=2" >> /etc/vim/vimrc.tiny - -RUN apt-get update && \ - apt-get install -y wget unzip gcc libssl-dev && \ - apt-get install -y python-virtualenv && \ - apt-get install -y python-setuptools && \ - apt-get install -y python-dev && \ - apt-get install -y python-pip && \ - apt-get install -y gcc && \ - apt-get install -y wget && \ - apt-get install -y unzip && \ - apt-get install -y curl && \ - apt-get install -y build-essential && \ -# apt-get install -y libssl-dev && \ - apt-get install -y libffi-dev && \ - groupadd -r onap && useradd -r -g onap onap && \ - chmod u+w /etc/sudoers && \ - sed -i '/User privilege/a\\onap ALL=(ALL:ALL) NOPASSWD:ALL' /etc/sudoers && \ - chmod u-x /etc/sudoers - ADD . /service WORKDIR /service -# get binary zip from nexus -RUN wget -q -O vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.nfvo.driver.vnfm.gvnfm.gvnfmadapter&a=vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter&v=LATEST&e=zip' && \ - unzip vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter.zip && \ - rm -rf vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter.zip && \ - chown onap:onap /service -R - -WORKDIR /service/vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter -RUN pip install -r requirements.txt - -RUN apt-get --purge remove -y wget unzip gcc libssl-dev +RUN sh /service/docker-env-conf.sh EXPOSE 8484 USER onap - WORKDIR /service ENTRYPOINT vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker/docker-entrypoint.sh diff --git a/gvnfmadapter/docker/docker-env-conf.sh b/gvnfmadapter/docker/docker-env-conf.sh new file mode 100644 index 0000000..25104a8 --- /dev/null +++ b/gvnfmadapter/docker/docker-env-conf.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +install_sf(){ + + apk --no-cache update + apk --no-cache add bash curl gcc wget mysql-client openssl-dev + apk --no-cache add python-dev libffi-dev musl-dev py2-virtualenv + + # get binary zip from nexus - vfc-nfvo-catalog + wget -q -O vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.nfvo.driver.vnfm.gvnfm.gvnfmadapter&a=vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter&v=LATEST&e=zip' + unzip vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter.zip + rm -rf vfc-nfvo-driver-vnfm-gvnfm-gvnfmadapter.zip + wait + pip install --upgrade setuptools pip + pip install --no-cache-dir --pre -r /service/vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter/requirements.txt +} + +add_user(){ + + apk --no-cache add sudo + addgroup -g 1000 -S onap + adduser onap -D -G onap -u 1000 + chmod u+w /etc/sudoers + sed -i '/User privilege/a\\onap ALL=(ALL:ALL) NOPASSWD:ALL' /etc/sudoers + chmod u-x /etc/sudoers + sudo chown onap:onap -R /service +} + +config_logdir(){ + + if [ ! -d "/var/log/onap" ]; then + sudo mkdir /var/log/onap + fi + + sudo chown onap:onap -R /var/log/onap + chmod g+s /var/log/onap + +} + +clean_sf_cache(){ + + rm -rf /var/cache/apk/* + rm -rf /root/.cache/pip/* + rm -rf /tmp/* +} + +install_sf +wait +add_user +config_logdir +clean_sf_cache + -- 2.16.6