From 077accdbcc771dd13bd518cc98b894edc189ac71 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:01:19 -0400 Subject: [PATCH 01/18] Create Dockerfile and change base image --- s390x/3.9/alpine3.11/Dockerfile | 136 ++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 s390x/3.9/alpine3.11/Dockerfile diff --git a/s390x/3.9/alpine3.11/Dockerfile b/s390x/3.9/alpine3.11/Dockerfile new file mode 100644 index 000000000..e001cd28e --- /dev/null +++ b/s390x/3.9/alpine3.11/Dockerfile @@ -0,0 +1,136 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +FROM quay.io/ibmz/alpine:3.11 + +# ensure local python is preferred over distribution python +ENV PATH /usr/local/bin:$PATH + +# http://bugs.python.org/issue19846 +# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. +ENV LANG C.UTF-8 + +# install ca-certificates so that HTTPS works consistently +# other runtime dependencies for Python are installed later +RUN apk add --no-cache ca-certificates + +ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568 +ENV PYTHON_VERSION 3.9.0 + +RUN set -ex \ + && apk add --no-cache --virtual .fetch-deps \ + gnupg \ + tar \ + xz \ + \ + && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ + && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ + && gpg --batch --verify python.tar.xz.asc python.tar.xz \ + && { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \ + && rm -rf "$GNUPGHOME" python.tar.xz.asc \ + && mkdir -p /usr/src/python \ + && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ + && rm python.tar.xz \ + \ + && apk add --no-cache --virtual .build-deps \ + bluez-dev \ + bzip2-dev \ + coreutils \ + dpkg-dev dpkg \ + expat-dev \ + findutils \ + gcc \ + gdbm-dev \ + libc-dev \ + libffi-dev \ + libnsl-dev \ + libtirpc-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl-dev \ + pax-utils \ + readline-dev \ + sqlite-dev \ + tcl-dev \ + tk \ + tk-dev \ + util-linux-dev \ + xz-dev \ + zlib-dev \ +# add build deps before removing fetch deps in case there's overlap + && apk del --no-network .fetch-deps \ + \ + && cd /usr/src/python \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && ./configure \ + --build="$gnuArch" \ + --enable-loadable-sqlite-extensions \ + --enable-optimizations \ + --enable-option-checking=fatal \ + --enable-shared \ + --with-system-expat \ + --with-system-ffi \ + --without-ensurepip \ + && make -j "$(nproc)" \ +# set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit() +# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0 + EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000" \ + LDFLAGS="-Wl,--strip-all" \ + && make install \ + && rm -rf /usr/src/python \ + \ + && find /usr/local -depth \ + \( \ + \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ + -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name '*.a' \) \) \ + \) -exec rm -rf '{}' + \ + \ + && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + | xargs -rt apk add --no-cache --virtual .python-rundeps \ + && apk del --no-network .build-deps \ + \ + && python3 --version + +# make some useful symlinks that are expected to exist +RUN cd /usr/local/bin \ + && ln -s idle3 idle \ + && ln -s pydoc3 pydoc \ + && ln -s python3 python \ + && ln -s python3-config python-config + +# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" +ENV PYTHON_PIP_VERSION 20.2.4 +# https://github.com/pypa/get-pip +ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/8283828b8fd6f1783daf55a765384e6d8d2c5014/get-pip.py +ENV PYTHON_GET_PIP_SHA256 2250ab0a7e70f6fd22b955493f7f5cf1ea53e70b584a84a32573644a045b4bfb + +RUN set -ex; \ + \ + wget -O get-pip.py "$PYTHON_GET_PIP_URL"; \ + echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; \ + \ + python get-pip.py \ + --disable-pip-version-check \ + --no-cache-dir \ + "pip==$PYTHON_PIP_VERSION" \ + ; \ + pip --version; \ + \ + find /usr/local -depth \ + \( \ + \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \ + -o \ + \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ + \) -exec rm -rf '{}' +; \ + rm -f get-pip.py + +CMD ["python3"] From 56d99d9e9bb7e04053c2d665832bd4d4eb01c633 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Mon, 19 Oct 2020 13:03:30 -0400 Subject: [PATCH 02/18] Create .travis.yml --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..a6d0504ca --- /dev/null +++ b/.travis.yml @@ -0,0 +1,4 @@ +arch: s390x +services: + - docker +script: docker login quay.io -u $ROBOT -p $ROBOT_TOKEN && docker build s390x/3.9/alpine3.11 --tag quay.io/ibmz/python:3.9 && docker push quay.io/ibmz/python From f6a960e9a5837f4920ff128279b8f2bf8d8caa4c Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Tue, 20 Oct 2020 09:05:42 -0400 Subject: [PATCH 03/18] Switch to alpine 3.12 base --- s390x/3.9/{alpine3.11 => alpine3.12}/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename s390x/3.9/{alpine3.11 => alpine3.12}/Dockerfile (99%) diff --git a/s390x/3.9/alpine3.11/Dockerfile b/s390x/3.9/alpine3.12/Dockerfile similarity index 99% rename from s390x/3.9/alpine3.11/Dockerfile rename to s390x/3.9/alpine3.12/Dockerfile index e001cd28e..f44e2c464 100644 --- a/s390x/3.9/alpine3.11/Dockerfile +++ b/s390x/3.9/alpine3.12/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM quay.io/ibmz/alpine:3.11 +FROM quay.io/ibmz/alpine:3.12 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH From 856a13b39649d502c5350187f763c9851e2e6135 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Tue, 20 Oct 2020 09:06:20 -0400 Subject: [PATCH 04/18] change Dockerfile location --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a6d0504ca..1a296b427 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ arch: s390x services: - docker -script: docker login quay.io -u $ROBOT -p $ROBOT_TOKEN && docker build s390x/3.9/alpine3.11 --tag quay.io/ibmz/python:3.9 && docker push quay.io/ibmz/python +script: docker login quay.io -u $ROBOT -p $ROBOT_TOKEN && docker build s390x/3.9/alpine3.12 --tag quay.io/ibmz/python:3.9 && docker push quay.io/ibmz/python From ae40c01f828c9fcfd6650cd4858b3b2871ef3b93 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:23:30 -0400 Subject: [PATCH 05/18] Create test.sh --- s390x/test/3.9/alpine3.12/test.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 s390x/test/3.9/alpine3.12/test.sh diff --git a/s390x/test/3.9/alpine3.12/test.sh b/s390x/test/3.9/alpine3.12/test.sh new file mode 100644 index 000000000..1ba3f3f4a --- /dev/null +++ b/s390x/test/3.9/alpine3.12/test.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +export ANSI_YELLOW="\e[1;33m" +export ANSI_GREEN="\e[32m" +export ANSI_RESET="\e[0m" + +echo -e "\n $ANSI_YELLOW *** FUNCTIONAL TEST(S) *** $ANSI_RESET \n" + +echo -e "$ANSI_YELLOW It can run a Python program: $ANSI_RESET" +docker build -t test/run-app/quay.io/ibmz/python runs-python-programs +docker run --rm --name runs-python-programs test/run-app/quay.io/ibmz/python +docker rmi test/run-app/quay.io/ibmz/python + +echo -e "\n $ANSI_GREEN *** FUNCTIONAL TEST(S) COMPLETED SUCESSFULLY *** $ANSI_RESET \n" From 940b1f797cc45260d403e90d64e60889eaaa973e Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:24:36 -0400 Subject: [PATCH 06/18] Create Dockerfile --- .../3.9/alpine3.12/runs-python-programs/Dockerfile | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 s390x/test/3.9/alpine3.12/runs-python-programs/Dockerfile diff --git a/s390x/test/3.9/alpine3.12/runs-python-programs/Dockerfile b/s390x/test/3.9/alpine3.12/runs-python-programs/Dockerfile new file mode 100644 index 000000000..dc7b738dc --- /dev/null +++ b/s390x/test/3.9/alpine3.12/runs-python-programs/Dockerfile @@ -0,0 +1,10 @@ +FROM quay.io/ibmz/python:3.9 + +WORKDIR /usr/src/app + +COPY requirements.txt ./ +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +CMD [ "python", "./test.py" ] From 9690db2c080b4d99838db6b984d7418f9b966ec4 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:25:36 -0400 Subject: [PATCH 07/18] Create requirements.txt --- s390x/test/3.9/alpine3.12/runs-python-programs/requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 s390x/test/3.9/alpine3.12/runs-python-programs/requirements.txt diff --git a/s390x/test/3.9/alpine3.12/runs-python-programs/requirements.txt b/s390x/test/3.9/alpine3.12/runs-python-programs/requirements.txt new file mode 100644 index 000000000..9ca086f0b --- /dev/null +++ b/s390x/test/3.9/alpine3.12/runs-python-programs/requirements.txt @@ -0,0 +1 @@ +ansicolors From a04bd2a1ed63b611fa9630c1788efaa601b8805c Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:26:16 -0400 Subject: [PATCH 08/18] Create test.py --- s390x/test/3.9/alpine3.12/runs-python-programs/test.py | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 s390x/test/3.9/alpine3.12/runs-python-programs/test.py diff --git a/s390x/test/3.9/alpine3.12/runs-python-programs/test.py b/s390x/test/3.9/alpine3.12/runs-python-programs/test.py new file mode 100644 index 000000000..ab69f3973 --- /dev/null +++ b/s390x/test/3.9/alpine3.12/runs-python-programs/test.py @@ -0,0 +1,4 @@ +from colors import * + +print(color("Success! This Python program is running on the quay.io/ibmz/python image!", fg='green')) +print(color("Test Complete. Terminating program...", fg='green')) From 5446988f6e5c410dbc03ce87b508e309e123ba53 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:28:37 -0400 Subject: [PATCH 09/18] Update for functional tests --- .travis.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1a296b427..876a90ca4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,18 @@ arch: s390x services: - docker -script: docker login quay.io -u $ROBOT -p $ROBOT_TOKEN && docker build s390x/3.9/alpine3.12 --tag quay.io/ibmz/python:3.9 && docker push quay.io/ibmz/python +env: + global: + - TEST_DIR="$PWD/s390x/test/3.9/alpine3.12" + - TEST_SCRIPT="test.sh" + - BUILD_DIR="$PWD/s390x/3.9/alpine3.12" + - REPO="quay.io/ibmz/python" + - TAG="$REPO:3.9" +before_script: + - cd $TEST_DIR && chmod +x $TEST_SCRIPT + - docker login quay.io -u $ROBOT -p $ROBOT_TOKEN +script: + - docker build $BUILD_DIR --tag $TAG + - cd $TEST_DIR && bash $TEST_SCRIPT +after_script: + - docker push $REPO From a340c07f33cc9c9a8c620fac7ec18f08092fce37 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Tue, 27 Oct 2020 12:09:26 -0400 Subject: [PATCH 10/18] Cleanup test.sh --- s390x/test/3.9/alpine3.12/test.sh | 53 +++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/s390x/test/3.9/alpine3.12/test.sh b/s390x/test/3.9/alpine3.12/test.sh index 1ba3f3f4a..10e42df2f 100644 --- a/s390x/test/3.9/alpine3.12/test.sh +++ b/s390x/test/3.9/alpine3.12/test.sh @@ -2,15 +2,54 @@ set -e -export ANSI_YELLOW="\e[1;33m" +export ANSI_YELLOW_BOLD="\e[1;33m" export ANSI_GREEN="\e[32m" +export ANSI_YELLOW_BACKGROUND="\e[1;7;33m" +export ANSI_GREEN_BACKGROUND="\e[1;7;32m" +export ANSI_CYAN="\e[36m" export ANSI_RESET="\e[0m" +export DOCKERFILE_TOP="**************************************** DOCKERFILE ******************************************" +export DOCKERFILE_BOTTOM="**********************************************************************************************" +export TEST_SUITE_START="**************************************** SMOKE TESTS *****************************************" +export TEST_SUITE_END="************************************** TEST SUCCESSFUL ***************************************" -echo -e "\n $ANSI_YELLOW *** FUNCTIONAL TEST(S) *** $ANSI_RESET \n" +# Pass in path to folder where Dockerfile lives +print_dockerfile () { + echo -e "\n$ANSI_CYAN$DOCKERFILE_TOP\n$(<$1/Dockerfile)\n$DOCKERFILE_BOTTOM $ANSI_RESET\n" +} -echo -e "$ANSI_YELLOW It can run a Python program: $ANSI_RESET" -docker build -t test/run-app/quay.io/ibmz/python runs-python-programs -docker run --rm --name runs-python-programs test/run-app/quay.io/ibmz/python -docker rmi test/run-app/quay.io/ibmz/python +# Pass in test case message +print_test_case () { + echo -e "\n$ANSI_YELLOW_BOLD$1 $ANSI_RESET" +} -echo -e "\n $ANSI_GREEN *** FUNCTIONAL TEST(S) COMPLETED SUCESSFULLY *** $ANSI_RESET \n" +print_success () { + echo -e "\n $ANSI_GREEN$1 $ANSI_RESET \n" + +} + +# Pass in path to folder where Dockerfile lives +build () { + print_dockerfile $1 + docker build -q -t $1 $1 +} + +cleanup () { + docker rmi $1 +} + +suite_start () { + echo -e "\n$ANSI_YELLOW_BACKGROUND$TEST_SUITE_START$ANSI_RESET \n" +} + +suite_end () { + echo -e "\n$ANSI_GREEN_BACKGROUND$TEST_SUITE_END$ANSI_RESET \n" +} + + +suite_start + print_test_case "It can run a Python program:" + build "runs-python-programs" + docker run --rm --name runs-python-programs "runs-python-programs" + cleanup "runs-python-programs" +suite_end From b7c8248997134030114e3e5239e6616e53d4ccd7 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Tue, 27 Oct 2020 12:16:50 -0400 Subject: [PATCH 11/18] Formatting --- s390x/test/3.9/alpine3.12/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/s390x/test/3.9/alpine3.12/test.sh b/s390x/test/3.9/alpine3.12/test.sh index 10e42df2f..1c678a09c 100644 --- a/s390x/test/3.9/alpine3.12/test.sh +++ b/s390x/test/3.9/alpine3.12/test.sh @@ -24,7 +24,7 @@ print_test_case () { } print_success () { - echo -e "\n $ANSI_GREEN$1 $ANSI_RESET \n" + echo -e "\n$ANSI_GREEN$1 $ANSI_RESET \n" } From be3ffa95fae8904c523f84940ab8306a865eb678 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Thu, 29 Oct 2020 13:16:52 -0400 Subject: [PATCH 12/18] log color --- s390x/test/3.9/alpine3.12/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/s390x/test/3.9/alpine3.12/test.sh b/s390x/test/3.9/alpine3.12/test.sh index 1c678a09c..d73b7f999 100644 --- a/s390x/test/3.9/alpine3.12/test.sh +++ b/s390x/test/3.9/alpine3.12/test.sh @@ -15,7 +15,7 @@ export TEST_SUITE_END="************************************** TEST SUCCESSFUL ** # Pass in path to folder where Dockerfile lives print_dockerfile () { - echo -e "\n$ANSI_CYAN$DOCKERFILE_TOP\n$(<$1/Dockerfile)\n$DOCKERFILE_BOTTOM $ANSI_RESET\n" + echo -e "\n$ANSI_CYAN$DOCKERFILE_TOP\n$(<$1/Dockerfile)\n$ANSI_CYAN$DOCKERFILE_BOTTOM $ANSI_RESET\n" } # Pass in test case message From b6b552d1c7f9df77f2577c12bb8cd0b1958cb260 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Mon, 2 Nov 2020 09:53:31 -0500 Subject: [PATCH 13/18] Update README.md --- README.md | 51 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index df5b2bcea..a8a47da6e 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,45 @@ -# https://github.com/docker-library/python +# Tags +> _Built from [`quay.io/ibmz/alpine:3.12`](https://quay.io/repository/ibmz/alpine?tab=info)_ +- [`3.9`](https://github.com/lcarcaramo/python/blob/master/s390x/3.9/alpine3.12/Dockerfile) - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=master)](https://travis-ci.com/lcarcaramo/python) -## Maintained by: [the Docker Community](https://github.com/docker-library/python) +# What is Python? -This is the Git repo of the [Docker "Official Image"](https://github.com/docker-library/official-images#what-are-official-images) for [`python`](https://hub.docker.com/_/python/) (not to be confused with any official `python` image provided by `python` upstream). See [the Docker Hub page](https://hub.docker.com/_/python/) for the full readme on how to use this Docker image and for information regarding contributing and issues. +Python is an interpreted, interactive, object-oriented, open-source programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on Windows 2000 and later. -The [full image description on Docker Hub](https://hub.docker.com/_/python/) is generated/maintained over in [the docker-library/docs repository](https://github.com/docker-library/docs), specifically in [the `python` directory](https://github.com/docker-library/docs/tree/master/python). +> [wikipedia.org/wiki/Python_(programming_language)](https://en.wikipedia.org/wiki/Python_%28programming_language%29) -## See a change merged here that doesn't show up on Docker Hub yet? +![logo](https://raw.githubusercontent.com/docker-library/docs/01c12653951b2fe592c1f93a13b4e289ada0e3a1/python/logo.png) -For more information about the full official images change lifecycle, see [the "An image's source changed in Git, now what?" FAQ entry](https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what). +# How to use this image -For outstanding `python` image PRs, check [PRs with the "library/python" label on the official-images repository](https://github.com/docker-library/official-images/labels/library%2Fpython). For the current "source of truth" for [`python`](https://hub.docker.com/_/python/), see [the `library/python` file in the official-images repository](https://github.com/docker-library/official-images/blob/master/library/python). +## Create a `Dockerfile` in your Python app project ---- +```dockerfile +FROM python:3 -- [![build status badge](https://img.shields.io/github/workflow/status/docker-library/python/GitHub%20CI/master?label=GitHub%20CI)](https://github.com/docker-library/python/actions?query=workflow%3A%22GitHub+CI%22+branch%3Amaster) -- [![build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/update.sh/job/python.svg?label=Automated%20update.sh)](https://doi-janky.infosiftr.net/job/update.sh/job/python/) +WORKDIR /usr/src/app -| Build | Status | Badges | (per-arch) | -|:-:|:-:|:-:|:-:| -| [![amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/amd64/job/python.svg?label=amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/amd64/job/python/) | [![arm32v5 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/python.svg?label=arm32v5)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v5/job/python/) | [![arm32v6 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/python.svg?label=arm32v6)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v6/job/python/) | [![arm32v7 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/python.svg?label=arm32v7)](https://doi-janky.infosiftr.net/job/multiarch/job/arm32v7/job/python/) | -| [![arm64v8 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/python.svg?label=arm64v8)](https://doi-janky.infosiftr.net/job/multiarch/job/arm64v8/job/python/) | [![i386 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/i386/job/python.svg?label=i386)](https://doi-janky.infosiftr.net/job/multiarch/job/i386/job/python/) | [![mips64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/python.svg?label=mips64le)](https://doi-janky.infosiftr.net/job/multiarch/job/mips64le/job/python/) | [![ppc64le build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/python.svg?label=ppc64le)](https://doi-janky.infosiftr.net/job/multiarch/job/ppc64le/job/python/) | -| [![s390x build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/s390x/job/python.svg?label=s390x)](https://doi-janky.infosiftr.net/job/multiarch/job/s390x/job/python/) | [![windows-amd64 build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/multiarch/job/windows-amd64/job/python.svg?label=windows-amd64)](https://doi-janky.infosiftr.net/job/multiarch/job/windows-amd64/job/python/) | [![put-shared build status badge](https://img.shields.io/jenkins/s/https/doi-janky.infosiftr.net/job/put-shared/job/heavy.svg?label=put-shared)](https://doi-janky.infosiftr.net/job/put-shared/job/heavy/) | +COPY requirements.txt ./ +RUN pip install --no-cache-dir -r requirements.txt - +COPY . . + +CMD [ "python", "./your-daemon-or-script.py" ] +``` + +You can then build and run the Docker image: + +```console +$ docker build -t my-python-app . +$ docker run -it --rm --name my-running-app my-python-app +``` + +# License + +View license information for [Python 2](https://docs.python.org/2/license.html) and [Python 3](https://docs.python.org/3/license.html). + +As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). + +Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `python/` directory](https://github.com/docker-library/repo-info/tree/master/repos/python). + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. From 8d80d9ae13b0ed27a4bf7fe1fdc7986f552fbcf6 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Mon, 2 Nov 2020 09:56:43 -0500 Subject: [PATCH 14/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a8a47da6e..b084772f0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Python is an interpreted, interactive, object-oriented, open-source programming ## Create a `Dockerfile` in your Python app project ```dockerfile -FROM python:3 +FROM quay.io/ibmz/python:3.9 WORKDIR /usr/src/app From 62cc97cc84710090b1b3d67486388c851531c2dc Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Wed, 18 Nov 2020 09:26:19 -0500 Subject: [PATCH 15/18] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b084772f0..5f98b24cc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Tags > _Built from [`quay.io/ibmz/alpine:3.12`](https://quay.io/repository/ibmz/alpine?tab=info)_ +- [`3.8`](https://github.com/lcarcaramo/python/blob/3.8/s390x/3.8/alpine3.12/Dockerfile) - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=3.8)](https://travis-ci.com/lcarcaramo/python) - [`3.9`](https://github.com/lcarcaramo/python/blob/master/s390x/3.9/alpine3.12/Dockerfile) - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=master)](https://travis-ci.com/lcarcaramo/python) # What is Python? From aca9b199f00edae7f037bdbae5af41732726edf7 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Tue, 8 Dec 2020 07:10:39 -0500 Subject: [PATCH 16/18] Update README for ibm org on quay --- README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/README.md b/README.md index 5f98b24cc..2696f3b25 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,52 @@ Python is an interpreted, interactive, object-oriented, open-source programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on Windows 2000 and later. > [wikipedia.org/wiki/Python_(programming_language)](https://en.wikipedia.org/wiki/Python_%28programming_language%29) +# Tags +> _Built from [`quay.io/ibm/ubuntu:20.04`](https://quay.io/repository/ibm/ubuntu?tab=info)_ +- `11.0.8` - [![Build Status](https://travis-ci.com/lcarcaramo/openjdk.svg?branch=master)](https://travis-ci.com/lcarcaramo/openjdk) + +### __[Original Source Code](https://github.com/docker-library/openjdk)__ + +# OpenJDK + +OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE). OpenJDK is the official reference implementation of Java SE since version 7. + +> [wikipedia.org/wiki/OpenJDK](http://en.wikipedia.org/wiki/OpenJDK) + +Java is a registered trademark of Oracle and/or its affiliates. + +![logo](https://raw.githubusercontent.com/docker-library/docs/a3439b66b7980d1811f6b3835a3c541747172970/openjdk/logo.png) +# How to use this image + +## Start a Java instance in your app + +The most straightforward way to use this image is to use a Java container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project: + +```dockerfile +FROM quay.io/ibm/openjdk:11.0.8 +COPY . /usr/src/myapp +WORKDIR /usr/src/myapp +RUN javac Main.java +CMD ["java", "Main"] +``` + +You can then run and build the Docker image: + +```console +$ docker build -t my-java-app . +$ docker run -it --rm --name my-running-app my-java-app +``` + +# License + +View [license information](http://openjdk.java.net/legal/gplv2+ce.html) for the software contained in this image. + +As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). + +Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `openjdk/` directory](https://github.com/docker-library/repo-info/tree/master/repos/openjdk). + +As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. ![logo](https://raw.githubusercontent.com/docker-library/docs/01c12653951b2fe592c1f93a13b4e289ada0e3a1/python/logo.png) # How to use this image From 68181e03bb41215fe48da5662802f3ae9febc2b4 Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Tue, 8 Dec 2020 07:11:27 -0500 Subject: [PATCH 17/18] Update for ibm org on quay --- README.md | 57 +++++++------------------------------------------------ 1 file changed, 7 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 2696f3b25..250ca81d4 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,16 @@ # Tags -> _Built from [`quay.io/ibmz/alpine:3.12`](https://quay.io/repository/ibmz/alpine?tab=info)_ -- [`3.8`](https://github.com/lcarcaramo/python/blob/3.8/s390x/3.8/alpine3.12/Dockerfile) - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=3.8)](https://travis-ci.com/lcarcaramo/python) -- [`3.9`](https://github.com/lcarcaramo/python/blob/master/s390x/3.9/alpine3.12/Dockerfile) - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=master)](https://travis-ci.com/lcarcaramo/python) +> _Built from [`quay.io/ibm/alpine:3.12`](https://quay.io/repository/ibm/alpine?tab=info)_ +- `3.8` - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=3.8)](https://travis-ci.com/lcarcaramo/python) +- `3.9` - [![Build Status](https://travis-ci.com/lcarcaramo/python.svg?branch=master)](https://travis-ci.com/lcarcaramo/python) -# What is Python? +### __[Original Source Code](https://github.com/docker-library/python)__ + +# Python Python is an interpreted, interactive, object-oriented, open-source programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on Windows 2000 and later. > [wikipedia.org/wiki/Python_(programming_language)](https://en.wikipedia.org/wiki/Python_%28programming_language%29) -# Tags -> _Built from [`quay.io/ibm/ubuntu:20.04`](https://quay.io/repository/ibm/ubuntu?tab=info)_ -- `11.0.8` - [![Build Status](https://travis-ci.com/lcarcaramo/openjdk.svg?branch=master)](https://travis-ci.com/lcarcaramo/openjdk) - -### __[Original Source Code](https://github.com/docker-library/openjdk)__ - -# OpenJDK - -OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE). OpenJDK is the official reference implementation of Java SE since version 7. - -> [wikipedia.org/wiki/OpenJDK](http://en.wikipedia.org/wiki/OpenJDK) - -Java is a registered trademark of Oracle and/or its affiliates. - -![logo](https://raw.githubusercontent.com/docker-library/docs/a3439b66b7980d1811f6b3835a3c541747172970/openjdk/logo.png) - -# How to use this image - -## Start a Java instance in your app - -The most straightforward way to use this image is to use a Java container as both the build and runtime environment. In your `Dockerfile`, writing something along the lines of the following will compile and run your project: - -```dockerfile -FROM quay.io/ibm/openjdk:11.0.8 -COPY . /usr/src/myapp -WORKDIR /usr/src/myapp -RUN javac Main.java -CMD ["java", "Main"] -``` -You can then run and build the Docker image: - -```console -$ docker build -t my-java-app . -$ docker run -it --rm --name my-running-app my-java-app -``` - -# License - -View [license information](http://openjdk.java.net/legal/gplv2+ce.html) for the software contained in this image. - -As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). - -Some additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `openjdk/` directory](https://github.com/docker-library/repo-info/tree/master/repos/openjdk). - -As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within. ![logo](https://raw.githubusercontent.com/docker-library/docs/01c12653951b2fe592c1f93a13b4e289ada0e3a1/python/logo.png) # How to use this image @@ -61,7 +18,7 @@ As for any pre-built image usage, it is the image user's responsibility to ensur ## Create a `Dockerfile` in your Python app project ```dockerfile -FROM quay.io/ibmz/python:3.9 +FROM quay.io/ibm/python:3.9 WORKDIR /usr/src/app From 838ee8bd8b0d7d363803492b9e51a574c4cacd8e Mon Sep 17 00:00:00 2001 From: lcarcaramo <72973973+lcarcaramo@users.noreply.github.com> Date: Thu, 21 Jan 2021 07:31:09 -0500 Subject: [PATCH 18/18] Point to ibm repo --- s390x/3.9/alpine3.12/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/s390x/3.9/alpine3.12/Dockerfile b/s390x/3.9/alpine3.12/Dockerfile index f44e2c464..935c40067 100644 --- a/s390x/3.9/alpine3.12/Dockerfile +++ b/s390x/3.9/alpine3.12/Dockerfile @@ -4,7 +4,7 @@ # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM quay.io/ibmz/alpine:3.12 +FROM quay.io/ibm/alpine:3.12 # ensure local python is preferred over distribution python ENV PATH /usr/local/bin:$PATH pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy