summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryangyan <yangyanyj@chinamobile.com>2019-04-18 14:12:25 +0800
committeryangyan <yangyanyj@chinamobile.com>2019-04-18 14:12:33 +0800
commit4438f224792b30478dad357a97928584f36fdf11 (patch)
treeb36644bd307159ef24fc63ce0c42e18f3121bd16
parent0259dc517346df30f8f8ac1f71610419ac720716 (diff)
Optimized docker file code
Change-Id: Ic26039f241adcc80ec6fc3b20b8409341fd184eb Signed-off-by: yangyan <yangyanyj@chinamobile.com> Issue-ID: VFC-1361
-rw-r--r--mgr/docker/Dockerfile39
-rw-r--r--mgr/docker/docker-env-conf.sh53
2 files changed, 55 insertions, 37 deletions
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
+
+