Optimized docker file code 45/85645/1
authoryangyan <yangyanyj@chinamobile.com>
Thu, 18 Apr 2019 02:18:03 +0000 (10:18 +0800)
committeryangyan <yangyanyj@chinamobile.com>
Thu, 18 Apr 2019 02:18:12 +0000 (10:18 +0800)
Change-Id: Id2d67853d1ab9e741952ca2844abaa177aa41cd8
Signed-off-by: yangyan <yangyanyj@chinamobile.com>
Issue-ID: VFC-1361

docker/Dockerfile
docker/docker-env-conf.sh [new file with mode: 0644]

index 0232774..b085480 100755 (executable)
@@ -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 (file)
index 0000000..8cb2000
--- /dev/null
@@ -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
+
+
+