Add Dockerfile to build a py3 swift docker image
This patch contains only a new Dockerfile and few changes to be able to build both py2 and py3 images. Next patch should contain changes to add the gate jobs to build a py3 docker image Change-Id: Ifdebde9597a787abcd553756e22261e2faaeedfc
This commit is contained in:
parent
3e7752d8c8
commit
94366fd00e
@ -35,6 +35,11 @@ RUN mkdir /etc/swift && \
|
|||||||
echo && \
|
echo && \
|
||||||
echo && \
|
echo && \
|
||||||
echo && \
|
echo && \
|
||||||
|
echo "================ starting apk_install_py2 ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/20_apk_install_py2.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
echo "================ starting swift_install ===================" && \
|
echo "================ starting swift_install ===================" && \
|
||||||
/opt/swift/docker/install_scripts/50_swift_install.sh && \
|
/opt/swift/docker/install_scripts/50_swift_install.sh && \
|
||||||
echo && \
|
echo && \
|
||||||
|
76
Dockerfile-py3
Normal file
76
Dockerfile-py3
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
################################################
|
||||||
|
#
|
||||||
|
# Alpine 3.10.1 Swift-All-In-One
|
||||||
|
#
|
||||||
|
################################################
|
||||||
|
|
||||||
|
FROM alpine:3.10.1
|
||||||
|
MAINTAINER Openstack Swift
|
||||||
|
|
||||||
|
ENV S6_LOGGING 1
|
||||||
|
ENV S6_VERSION 1.21.4.0
|
||||||
|
ENV SOCKLOG_VERSION 3.0.1-1
|
||||||
|
ENV ARCH amd64
|
||||||
|
ENV BUILD_DIR "/tmp"
|
||||||
|
ENV ENV="/etc/profile"
|
||||||
|
|
||||||
|
#COPY docker/install_scripts /install_scripts
|
||||||
|
COPY . /opt/swift
|
||||||
|
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-$ARCH.tar.gz /tmp/
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-$ARCH.tar.gz.sig /tmp/
|
||||||
|
ADD https://github.com/just-containers/socklog-overlay/releases/download/v$SOCKLOG_VERSION/socklog-overlay-$ARCH.tar.gz /tmp/
|
||||||
|
|
||||||
|
RUN mkdir /etc/swift && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ starting swift_needs ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/00_swift_needs.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ starting apk_install_prereqs ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/10_apk_install_prereqs.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ starting apk_install_py3 ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/21_apk_install_py3.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ starting swift_install ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/50_swift_install.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ installing s6-overlay ===================" && \
|
||||||
|
curl https://keybase.io/justcontainers/key.asc | gpg --import && \
|
||||||
|
gpg --verify /tmp/s6-overlay-$ARCH.tar.gz.sig /tmp/s6-overlay-$ARCH.tar.gz && \
|
||||||
|
gunzip -c /tmp/s6-overlay-$ARCH.tar.gz | tar -xf - -C / && \
|
||||||
|
gunzip -c /tmp/socklog-overlay-amd64.tar.gz | tar -xf - -C / && \
|
||||||
|
rm -rf /tmp/s6-overlay* && \
|
||||||
|
rm -rf /tmp/socklog-overlay* && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ starting pip_uninstall_dev ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/60_pip_uninstall_dev.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ starting apk_uninstall_dev ===================" && \
|
||||||
|
/opt/swift/docker/install_scripts/99_apk_uninstall_dev.sh && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo && \
|
||||||
|
echo "================ clean up ===================" && \
|
||||||
|
echo "TODO: cleanup"
|
||||||
|
#rm -rf /opt/swift
|
||||||
|
|
||||||
|
|
||||||
|
# Add Swift required configuration files
|
||||||
|
COPY docker/rootfs /
|
||||||
|
|
||||||
|
ENTRYPOINT ["/init"]
|
@ -25,6 +25,3 @@ apk add --update \
|
|||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
python \
|
|
||||||
python-dev \
|
|
||||||
py-pip
|
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "building python and pip"
|
|
||||||
|
|
||||||
# export PATH=$PATH:/usr/include
|
|
||||||
|
|
||||||
mkdir $BUILD_DIR/python27
|
|
||||||
mkdir $BUILD_DIR/python36
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "building python 2.7.15"
|
|
||||||
|
|
||||||
cd $BUILD_DIR/python27
|
|
||||||
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
|
|
||||||
tar -zxvf Python-2.7.15.tgz
|
|
||||||
cd Python-2.7.15
|
|
||||||
./configure --enable-optimizations
|
|
||||||
make
|
|
||||||
make DESTDIR=/opt/python27 install
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "building python 3.6.5"
|
|
||||||
|
|
||||||
cd $BUILD_DIR/python36
|
|
||||||
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
|
|
||||||
tar -zxvf Python-3.6.5.tgz
|
|
||||||
cd Python-3.6.5
|
|
||||||
./configure --enable-optimizations
|
|
||||||
make
|
|
||||||
make DESTDIR=/opt/python36 install
|
|
||||||
|
|
||||||
export PATH=$PATH:/opt/python27/usr/local/bin:/opt/python36/usr/local/bin
|
|
||||||
echo "export PATH=$PATH:/opt/python27/usr/local/bin:/opt/python36/usr/local/bin" >> /etc/profile
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "building pip"
|
|
||||||
wget https://bootstrap.pypa.io/get-pip.py
|
|
||||||
python ./get-pip.py
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "deleting python internal test dirs"
|
|
||||||
for f in `cat /opt/swift/docker/install_scripts/python_test_dirs` ; do rm -rf $f; done
|
|
||||||
|
|
||||||
rm -rf $BUILD_DIR/python27
|
|
||||||
rm -rf $BUILD_DIR/python36
|
|
7
docker/install_scripts/20_apk_install_py2.sh
Executable file
7
docker/install_scripts/20_apk_install_py2.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apk add --update \
|
||||||
|
python \
|
||||||
|
python-dev \
|
||||||
|
py-pip
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo "+ + + + + + + + + + upgrading pip" && \
|
|
||||||
pip install -U pip && \
|
|
||||||
cd /opt/swift && \
|
|
||||||
pip install -r requirements.txt
|
|
||||||
|
|
||||||
#echo "+ + + + + + + + + + installing pastedeploy" && \
|
|
||||||
#pip install pastedeploy && \
|
|
||||||
#echo "+ + + + + + + + + + installing eventlet" && \
|
|
||||||
#pip install eventlet && \
|
|
||||||
#echo "+ + + + + + + + + + installing greenlet" && \
|
|
||||||
#pip install greenlet && \
|
|
||||||
#echo "+ + + + + + + + + + installing netifaces" && \
|
|
||||||
#pip install netifaces && \
|
|
||||||
#echo "+ + + + + + + + + + installing setuptools" && \
|
|
||||||
#pip install setuptools && \
|
|
||||||
#echo "+ + + + + + + + + + installing requests" && \
|
|
||||||
#pip install requests && \
|
|
||||||
#echo "+ + + + + + + + + + installing six" && \
|
|
||||||
#pip install six && \
|
|
||||||
#echo "+ + + + + + + + + + installing cryptography" && \
|
|
||||||
#pip install cryptography && \
|
|
||||||
#echo "+ + + + + + + + + + installing dnspython" && \
|
|
||||||
#pip install dnspython
|
|
||||||
#echo "+ + + + + + + + + + installing xattr" && \
|
|
||||||
#pip install xattr
|
|
||||||
#echo "+ + + + + + + + + + installing pyeclib" && \
|
|
||||||
#pip install pyeclib
|
|
||||||
#echo "+ + + + + + + + + + installing lxml" && \
|
|
||||||
#pip install lxml
|
|
10
docker/install_scripts/21_apk_install_py3.sh
Executable file
10
docker/install_scripts/21_apk_install_py3.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apk add --update \
|
||||||
|
python3 \
|
||||||
|
python3-dev \
|
||||||
|
py3-pip
|
||||||
|
|
||||||
|
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user