From: yangyan Date: Thu, 18 Apr 2019 06:12:25 +0000 (+0800) Subject: Optimized docker file code X-Git-Tag: 1.3.0~2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=4438f224792b30478dad357a97928584f36fdf11;p=vfc%2Fgvnfm%2Fvnfmgr.git Optimized docker file code Change-Id: Ic26039f241adcc80ec6fc3b20b8409341fd184eb Signed-off-by: yangyan Issue-ID: VFC-1361 --- diff --git a/mgr/docker/Dockerfile b/mgr/docker/Dockerfile index 3e4ae2d..b12a873 100644 --- a/mgr/docker/Dockerfile +++ b/mgr/docker/Dockerfile @@ -1,50 +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 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 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 - vfc-gvnfm-vnfmgr -RUN wget -q -O vfc-gvnfm-vnfmgr.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnfmgr.mgr&a=vfc-gvnfm-vnfmgr-mgr&v=LATEST&e=zip' && \ - unzip vfc-gvnfm-vnfmgr.zip && \ - rm -rf vfc-gvnfm-vnfmgr.zip && \ - chown onap:onap -R /service /var/log - -WORKDIR /service/vfc/gvnfm/vnfmgr/mgr -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 8803 USER onap - WORKDIR /service ENTRYPOINT vfc/gvnfm/vnfmgr/mgr/docker/docker-entrypoint.sh diff --git a/mgr/docker/docker-env-conf.sh b/mgr/docker/docker-env-conf.sh new file mode 100644 index 0000000..40abe38 --- /dev/null +++ b/mgr/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-vnfmgr.zip 'https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.vfc.gvnfm.vnfmgr.mgr&a=vfc-gvnfm-vnfmgr-mgr&v=LATEST&e=zip' + unzip vfc-gvnfm-vnfmgr.zip + rm -rf vfc-gvnfm-vnfmgr.zip + wait + pip install --upgrade setuptools pip + pip install --no-cache-dir --pre -r /service/vfc/gvnfm/vnfmgr/mgr/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 + +