From 2dd726212aa85dbce717d3b1b1c0753cfa365406 Mon Sep 17 00:00:00 2001 From: yangyan Date: Thu, 18 Apr 2019 10:18:03 +0800 Subject: [PATCH] Optimized docker file code Change-Id: Id2d67853d1ab9e741952ca2844abaa177aa41cd8 Signed-off-by: yangyan Issue-ID: VFC-1361 --- docker/Dockerfile | 40 ++---------------------------------- docker/docker-env-conf.sh | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 38 deletions(-) create mode 100644 docker/docker-env-conf.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 02327743..b0854803 100755 --- a/docker/Dockerfile +++ b/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 - vfc-nfvo-lcm -RUN wget -q -O vfc-nfvo-lcm.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.nfvo.lcm&a=vfc-nfvo-lcm&v=LATEST&e=zip' && \ - unzip vfc-nfvo-lcm.zip && \ - rm -rf vfc-nfvo-lcm.zip - -# change user:group -RUN chown onap:onap -R /service /var/log - -WORKDIR /service/vfc/nfvo/lcm -RUN pip install --upgrade setuptools pip && \ - pip install --pre -r requirements.txt - -RUN apt-get --purge remove -y wget unzip gcc libssl-dev +RUN sh /service/docker-env-conf.sh EXPOSE 8403 USER onap diff --git a/docker/docker-env-conf.sh b/docker/docker-env-conf.sh new file mode 100644 index 00000000..8cb20001 --- /dev/null +++ b/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 + wget -q -O vfc-nfvo-lcm.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.nfvo.lcm&a=vfc-nfvo-lcm&v=LATEST&e=zip' && \ + unzip vfc-nfvo-lcm.zip && \ + rm -rf vfc-nfvo-lcm.zip && \ + pip install --upgrade setuptools pip && \ + pip install --pre -r /service/vfc/nfvo/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