From f9710137aaa97148bc62f5ecd6767420af4f4fea Mon Sep 17 00:00:00 2001 From: yangyan Date: Thu, 18 Apr 2019 10:53:14 +0800 Subject: [PATCH] Optimized docker file code Change-Id: I4778fd142cf1cd7bbedf2bca2e3d78d5e20f5478 Signed-off-by: yangyan Issue-ID: VFC-1361 --- lcm/docker/Dockerfile | 40 ++------------------------------- lcm/docker/docker-env-conf.sh | 52 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 38 deletions(-) create mode 100644 lcm/docker/docker-env-conf.sh diff --git a/lcm/docker/Dockerfile b/lcm/docker/Dockerfile index 87110066..cb866d8d 100755 --- a/lcm/docker/Dockerfile +++ b/lcm/docker/Dockerfile @@ -1,49 +1,13 @@ -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 libmysqlclient-dev && \ - apt-get install -y mysql-client && \ - 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 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-gvnfm-vnflcm-lcm.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnflcm.lcm&a=vfc-gvnfm-vnflcm-lcm&v=LATEST&e=zip' && \ - unzip vfc-gvnfm-vnflcm-lcm.zip && \ - rm -rf vfc-gvnfm-vnflcm-lcm.zip - -# change user:group -RUN chown onap:onap -R /service /var/log - -WORKDIR /service/vfc/gvnfm/vnflcm/lcm -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 8801 USER onap diff --git a/lcm/docker/docker-env-conf.sh b/lcm/docker/docker-env-conf.sh new file mode 100644 index 00000000..80fa123e --- /dev/null +++ b/lcm/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-gvnfm-vnflcm-lcm.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnflcm.lcm&a=vfc-gvnfm-vnflcm-lcm&v=LATEST&e=zip' + unzip vfc-gvnfm-vnflcm-lcm.zip + rm -rf vfc-gvnfm-vnflcm-lcm.zip + wait + pip install --upgrade setuptools pip + pip install --no-cache-dir --pre -r /service/vfc/gvnfm/vnflcm/lcm/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