From eea40da241e118b72b6fe37be1e56ea3b576173a Mon Sep 17 00:00:00 2001 From: yangyan Date: Thu, 18 Apr 2019 11:41:07 +0800 Subject: Optimized docker file code Change-Id: I5dc19e29da4d745d36287d3521a65170fddc7c15 Signed-off-by: yangyan Issue-ID: VFC-1361 --- res/docker/Dockerfile | 39 ++----------------------------- res/docker/docker-env-conf.sh | 53 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 37 deletions(-) create mode 100644 res/docker/docker-env-conf.sh (limited to 'res/docker') diff --git a/res/docker/Dockerfile b/res/docker/Dockerfile index 2319d0b..79e4f83 100644 --- a/res/docker/Dockerfile +++ b/res/docker/Dockerfile @@ -1,48 +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-vnfres.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnfres.res&a=vfc-gvnfm-vnfres-res&v=LATEST&e=zip' && \ - unzip vfc-gvnfm-vnfres.zip && \ - rm -rf vfc-gvnfm-vnfres.zip - -RUN chown onap:onap -R /service /var/log - -WORKDIR /service/vfc/gvnfm/vnfres/res -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 8802 USER onap diff --git a/res/docker/docker-env-conf.sh b/res/docker/docker-env-conf.sh new file mode 100644 index 0000000..57c505e --- /dev/null +++ b/res/docker/docker-env-conf.sh @@ -0,0 +1,53 @@ +#!/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 + wget -q -O vfc-gvnfm-vnfres.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnfres.res&a=vfc-gvnfm-vnfres-res&v=LATEST&e=zip' + unzip vfc-gvnfm-vnfres.zip + rm -rf vfc-gvnfm-vnfres.zip + wait + pip install --upgrade setuptools pip + pip install --no-cache-dir --pre -r /service/vfc/gvnfm/vnfres/res/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 + + -- cgit 1.2.3-korg