Move from Docker Hub to quay.io (#2010)

* Move from Docker Hub to quay.io

* Fix http->https

* Update registry-overviews

* Remove Docker Hub name
This commit is contained in:
Ayaz Salikhov
2023-10-20 22:31:45 +02:00
committed by GitHub
parent 3e04ded3a3
commit 00a6728161
41 changed files with 113 additions and 118 deletions

View File

@@ -57,7 +57,7 @@ body:
What complete docker command do you run to launch the container (omitting sensitive values)? What complete docker command do you run to launch the container (omitting sensitive values)?
placeholder: | placeholder: |
Example: Example:
`docker run -it --rm -p 8888:8888 docker.io/jupyter/base-notebook` `docker run -it --rm -p 8888:8888 quay.io/jupyter/base-notebook`
validations: validations:
required: true required: true

View File

@@ -1,7 +1,7 @@
name: Download parent image, build a new one and test it; then upload the image, tags and manifests to GitHub artifacts name: Download parent image, build a new one and test it; then upload the image, tags and manifests to GitHub artifacts
env: env:
REGISTRY: docker.io REGISTRY: quay.io
OWNER: ${{ github.repository_owner }} OWNER: ${{ github.repository_owner }}
on: on:

View File

@@ -51,6 +51,7 @@ jobs:
if: env.PUSH_TO_REGISTRY if: env.PUSH_TO_REGISTRY
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with: with:
registry: quay.io
username: ${{ secrets.REGISTRY_USERNAME }} username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }} password: ${{ secrets.REGISTRY_TOKEN }}

View File

@@ -1,7 +1,7 @@
name: Download Docker image and its tags from GitHub artifacts, apply them and push the image to the Registry name: Download Docker image and its tags from GitHub artifacts, apply them and push the image to the Registry
env: env:
REGISTRY: docker.io REGISTRY: quay.io
OWNER: ${{ github.repository_owner }} OWNER: ${{ github.repository_owner }}
PUSH_TO_REGISTRY: (github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru') && (github.ref == 'refs/heads/main' || github.event_name == 'schedule') PUSH_TO_REGISTRY: (github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru') && (github.ref == 'refs/heads/main' || github.event_name == 'schedule')
@@ -41,6 +41,7 @@ jobs:
if: env.PUSH_TO_REGISTRY if: env.PUSH_TO_REGISTRY
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with: with:
registry: quay.io
username: ${{ secrets.REGISTRY_USERNAME }} username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }} password: ${{ secrets.REGISTRY_TOKEN }}

View File

@@ -248,8 +248,8 @@ jobs:
platform: aarch64 platform: aarch64
image: ${{ matrix.image }} image: ${{ matrix.image }}
secrets: secrets:
REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} REGISTRY_USERNAME: ${{ secrets.QUAY_USERNAME }}
REGISTRY_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} REGISTRY_TOKEN: ${{ secrets.QUAY_ROBOT_TOKEN }}
strategy: strategy:
matrix: matrix:
image: image:
@@ -286,8 +286,8 @@ jobs:
platform: x86_64 platform: x86_64
image: ${{ matrix.image }} image: ${{ matrix.image }}
secrets: secrets:
REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} REGISTRY_USERNAME: ${{ secrets.QUAY_USERNAME }}
REGISTRY_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} REGISTRY_TOKEN: ${{ secrets.QUAY_ROBOT_TOKEN }}
strategy: strategy:
matrix: matrix:
image: image:
@@ -322,8 +322,8 @@ jobs:
with: with:
image: ${{ matrix.image }} image: ${{ matrix.image }}
secrets: secrets:
REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} REGISTRY_USERNAME: ${{ secrets.QUAY_USERNAME }}
REGISTRY_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} REGISTRY_TOKEN: ${{ secrets.QUAY_ROBOT_TOKEN }}
strategy: strategy:
matrix: matrix:
image: image:

View File

@@ -16,7 +16,6 @@ on:
jobs: jobs:
update-overview: update-overview:
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: update-overview (${{matrix.image}})
if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru' if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru'
steps: steps:
@@ -26,34 +25,24 @@ jobs:
- name: Push README to Registry 🐳 - name: Push README to Registry 🐳
uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1 uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # v1
env: env:
DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} DOCKER_APIKEY: ${{ secrets.APIKEY__QUAY_IO }}
DOCKER_PASS: ${{ secrets.DOCKERHUB_TOKEN }}
with: with:
destination_container_repo: ${{ env.OWNER }}/${{ matrix.image }} destination_container_repo: quay.io/${{ env.OWNER }}/${{ matrix.image }}
provider: dockerhub provider: quay
short_description: ${{ matrix.description }}
readme_file: images/${{ matrix.image }}/README.md readme_file: images/${{ matrix.image }}/README.md
strategy: strategy:
matrix: matrix:
include: image:
- image: docker-stacks-foundation [
description: "Tiny base image on which Jupyter apps can be built from https://github.com/jupyter/docker-stacks" docker-stacks-foundation,
- image: base-notebook base-notebook,
description: "Base image for Jupyter Notebook stacks from https://github.com/jupyter/docker-stacks" minimal-notebook,
- image: minimal-notebook scipy-notebook,
description: "Minimal Jupyter Notebook Python Stack from https://github.com/jupyter/docker-stacks" r-notebook,
- image: scipy-notebook julia-notebook,
description: "Scientific Jupyter Notebook Python Stack from https://github.com/jupyter/docker-stacks" tensorflow-notebook,
- image: r-notebook datascience-notebook,
description: "R Jupyter Notebook Stack from https://github.com/jupyter/docker-stacks" pyspark-notebook,
- image: julia-notebook all-spark-notebook,
description: "Julia Jupyter Notebook Stack from https://github.com/jupyter/docker-stacks" ]
- image: tensorflow-notebook
description: "Scientific Jupyter Notebook Python Stack w/ TensorFlow from https://github.com/jupyter/docker-stacks"
- image: datascience-notebook
description: "Data Science Jupyter Notebook Python Stack from https://github.com/jupyter/docker-stacks"
- image: pyspark-notebook
description: "Python and Spark Jupyter Notebook Stack from https://github.com/jupyter/docker-stacks"
- image: all-spark-notebook
description: "Python, Scala, R and Spark Jupyter Notebook Stack from https://github.com/jupyter/docker-stacks"

View File

@@ -4,7 +4,7 @@
# Use bash for inline if-statements in arch_patch target # Use bash for inline if-statements in arch_patch target
SHELL:=bash SHELL:=bash
REGISTRY?=docker.io REGISTRY?=quay.io
OWNER?=jupyter OWNER?=jupyter
# Need to list the images in build dependency order # Need to list the images in build dependency order

View File

@@ -7,7 +7,7 @@
[![Discourse badge](https://img.shields.io/discourse/users.svg?color=%23f37626&server=https%3A%2F%2Fdiscourse.jupyter.org)](https://discourse.jupyter.org/ "Jupyter Discourse Forum") [![Discourse badge](https://img.shields.io/discourse/users.svg?color=%23f37626&server=https%3A%2F%2Fdiscourse.jupyter.org)](https://discourse.jupyter.org/ "Jupyter Discourse Forum")
[![Binder badge](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyter/docker-stacks/main?urlpath=lab/tree/README.ipynb "Launch a jupyter/base-notebook container on mybinder.org") [![Binder badge](https://static.mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyter/docker-stacks/main?urlpath=lab/tree/README.ipynb "Launch a jupyter/base-notebook container on mybinder.org")
Jupyter Docker Stacks are a set of ready-to-run [Docker images](https://hub.docker.com/u/jupyter) containing Jupyter applications and interactive computing tools. Jupyter Docker Stacks are a set of ready-to-run [Docker images](https://quay.io/organization/jupyter) containing Jupyter applications and interactive computing tools.
You can use a stack image to do any of the following (and more): You can use a stack image to do any of the following (and more):
- Start a personal Jupyter Server with the JupyterLab frontend (default) - Start a personal Jupyter Server with the JupyterLab frontend (default)
@@ -27,11 +27,11 @@ The [User Guide on ReadTheDocs](https://jupyter-docker-stacks.readthedocs.io/en/
### Example 1 ### Example 1
This command pulls the `jupyter/scipy-notebook` image tagged `2023-09-25` from Docker Hub if it is not already present on the local host. This command pulls the `jupyter/scipy-notebook` image tagged `2023-09-25` from Quay.io if it is not already present on the local host.
It then starts a container running a Jupyter Server with the JupyterLab frontend and exposes the container's internal port `8888` to port `10000` of the host machine: It then starts a container running a Jupyter Server with the JupyterLab frontend and exposes the container's internal port `8888` to port `10000` of the host machine:
```bash ```bash
docker run -p 10000:8888 docker.io/jupyter/scipy-notebook:2023-09-25 docker run -p 10000:8888 quay.io/jupyter/scipy-notebook:2023-09-25
``` ```
You can modify the port on which the container's port is exposed by [changing the value of the `-p` option](https://docs.docker.com/engine/reference/run/#expose-incoming-ports) to `-p 8888:8888`. You can modify the port on which the container's port is exposed by [changing the value of the `-p` option](https://docs.docker.com/engine/reference/run/#expose-incoming-ports) to `-p 8888:8888`.
@@ -46,11 +46,11 @@ The container remains intact for restart after the Server exits.
### Example 2 ### Example 2
This command pulls the `jupyter/datascience-notebook` image tagged `2023-09-25` from Docker Hub if it is not already present on the local host. This command pulls the `jupyter/datascience-notebook` image tagged `2023-09-25` from Quay.io if it is not already present on the local host.
It then starts an _ephemeral_ container running a Jupyter Server with the JupyterLab frontend and exposes the server on host port 10000. It then starts an _ephemeral_ container running a Jupyter Server with the JupyterLab frontend and exposes the server on host port 10000.
```bash ```bash
docker run -it --rm -p 10000:8888 -v "${PWD}":/home/jovyan/work docker.io/jupyter/datascience-notebook:2023-09-25 docker run -it --rm -p 10000:8888 -v "${PWD}":/home/jovyan/work quay.io/jupyter/datascience-notebook:2023-09-25
``` ```
The use of the `-v` flag in the command mounts the current working directory on the host (`${PWD}` in the example command) as `/home/jovyan/work` in the container. The use of the `-v` flag in the command mounts the current working directory on the host (`${PWD}` in the example command) as `/home/jovyan/work` in the container.
@@ -113,7 +113,7 @@ more information is available in the [documentation](https://jupyter-docker-stac
- [Issue Tracker on GitHub](https://github.com/jupyter/docker-stacks/issues) - [Issue Tracker on GitHub](https://github.com/jupyter/docker-stacks/issues)
- [Jupyter Discourse Forum](https://discourse.jupyter.org/) - [Jupyter Discourse Forum](https://discourse.jupyter.org/)
- [Jupyter Website](https://jupyter.org) - [Jupyter Website](https://jupyter.org)
- [Images on Docker Hub](https://hub.docker.com/u/jupyter) - [Images on Quay.io](https://quay.io/organization/jupyter)
## CPU Architectures ## CPU Architectures

View File

@@ -1,8 +1,8 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
# https://hub.docker.com/r/jupyter/base-notebook/tags # https://quay.io/repository/jupyter/base-notebook?tab=tags
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/base-notebook:2023-09-25 ARG BASE_CONTAINER=$REGISTRY/$OWNER/base-notebook:2023-09-25
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -8,7 +8,7 @@ Following these steps will:
1. Set up a project on GitHub containing a Dockerfile based on any image we provide. 1. Set up a project on GitHub containing a Dockerfile based on any image we provide.
2. Configure GitHub Actions to build and test your image when users submit pull requests to your repository. 2. Configure GitHub Actions to build and test your image when users submit pull requests to your repository.
3. Configure Docker Hub to host your images for others to use. 3. Configure Quay.io to host your images for others to use.
4. Update the [list of community stacks](../using/selecting.md#community-stacks) in this documentation to include your image. 4. Update the [list of community stacks](../using/selecting.md#community-stacks) in this documentation to include your image.
This approach mirrors how we build and share the core stack images. This approach mirrors how we build and share the core stack images.
@@ -35,8 +35,8 @@ This will serve as both the git repository name and the part of the Docker image
stack_name [my-jupyter-stack]: stack_name [my-jupyter-stack]:
``` ```
Enter the user or organization name under which this stack will reside on Docker Hub. Enter the user or organization name under which this stack will reside on Quay.io.
You must have access to manage this Docker Hub organization to push images here. You must have access to manage this Quay.io organization to push images here.
```text ```text
stack_org [my-project]: stack_org [my-project]:
@@ -89,6 +89,10 @@ git push -u origin main
## Configuring Docker Hub ## Configuring Docker Hub
```{note}
Jupyter Docker Stacks are hosted on Quay.io, but in this example, we show you how to host your image on Docker Hub.
```
Now, configure Docker Hub to build your stack image and push it to the Docker Hub repository whenever Now, configure Docker Hub to build your stack image and push it to the Docker Hub repository whenever
you merge a GitHub pull request to the main branch of your project. you merge a GitHub pull request to the main branch of your project.

View File

@@ -56,7 +56,7 @@ When there's a new stack definition, check before merging the PR:
## Adding a New Maintainer Account ## Adding a New Maintainer Account
1. Visit <https://hub.docker.com/orgs/jupyter/teams/stacks/members> 1. Visit <https://quay.io/organization/jupyter/teams/owners>
2. Add the maintainer's username. 2. Add the maintainer's username.
3. Visit <https://github.com/orgs/jupyter/teams/docker-image-maintainers/members> 3. Visit <https://github.com/orgs/jupyter/teams/docker-image-maintainers/members>
4. Add the maintainer's GitHub username. 4. Add the maintainer's GitHub username.

View File

@@ -15,14 +15,14 @@ You can pass [Jupyter Server options](https://jupyter-server.readthedocs.io/en/l
you can run the following (this hash was generated for the `my-password` password): you can run the following (this hash was generated for the `my-password` password):
```bash ```bash
docker run -it --rm -p 8888:8888 docker.io/jupyter/base-notebook \ docker run -it --rm -p 8888:8888 quay.io/jupyter/base-notebook \
start-notebook.py --PasswordIdentityProvider.hashed_password='argon2:$argon2id$v=19$m=10240,t=10,p=8$JdAN3fe9J45NvK/EPuGCvA$O/tbxglbwRpOFuBNTYrymAEH6370Q2z+eS1eF4GM6Do' start-notebook.py --PasswordIdentityProvider.hashed_password='argon2:$argon2id$v=19$m=10240,t=10,p=8$JdAN3fe9J45NvK/EPuGCvA$O/tbxglbwRpOFuBNTYrymAEH6370Q2z+eS1eF4GM6Do'
``` ```
2. To set the [base URL](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html#running-the-notebook-with-a-customized-url-prefix) of the Jupyter Server, you can run the following: 2. To set the [base URL](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html#running-the-notebook-with-a-customized-url-prefix) of the Jupyter Server, you can run the following:
```bash ```bash
docker run -it --rm -p 8888:8888 docker.io/jupyter/base-notebook \ docker run -it --rm -p 8888:8888 quay.io/jupyter/base-notebook \
start-notebook.py --ServerApp.base_url=/customized/url/prefix/ start-notebook.py --ServerApp.base_url=/customized/url/prefix/
``` ```
@@ -49,7 +49,7 @@ You do so by passing arguments to the `docker run` command.
-e NB_USER="my-username" \ -e NB_USER="my-username" \
-e CHOWN_HOME=yes \ -e CHOWN_HOME=yes \
-w "/home/my-username" \ -w "/home/my-username" \
docker.io/jupyter/base-notebook quay.io/jupyter/base-notebook
``` ```
- `-e NB_UID=<numeric uid>` - Instructs the startup script to switch the numeric user ID of `${NB_USER}` to the given value. - `-e NB_UID=<numeric uid>` - Instructs the startup script to switch the numeric user ID of `${NB_USER}` to the given value.
@@ -146,7 +146,7 @@ For example, to mount a host folder containing a `notebook.key` and `notebook.cr
```bash ```bash
docker run -it --rm -p 8888:8888 \ docker run -it --rm -p 8888:8888 \
-v /some/host/folder:/etc/ssl/notebook \ -v /some/host/folder:/etc/ssl/notebook \
docker.io/jupyter/base-notebook \ quay.io/jupyter/base-notebook \
start-notebook.py \ start-notebook.py \
--ServerApp.keyfile=/etc/ssl/notebook/notebook.key \ --ServerApp.keyfile=/etc/ssl/notebook/notebook.key \
--ServerApp.certfile=/etc/ssl/notebook/notebook.crt --ServerApp.certfile=/etc/ssl/notebook/notebook.crt
@@ -158,7 +158,7 @@ For example:
```bash ```bash
docker run -it --rm -p 8888:8888 \ docker run -it --rm -p 8888:8888 \
-v /some/host/folder/notebook.pem:/etc/ssl/notebook.pem \ -v /some/host/folder/notebook.pem:/etc/ssl/notebook.pem \
docker.io/jupyter/base-notebook \ quay.io/jupyter/base-notebook \
start-notebook.py \ start-notebook.py \
--ServerApp.certfile=/etc/ssl/notebook.pem --ServerApp.certfile=/etc/ssl/notebook.pem
``` ```
@@ -207,14 +207,14 @@ Example:
docker run -it --rm \ docker run -it --rm \
-p 8888:8888 \ -p 8888:8888 \
-e DOCKER_STACKS_JUPYTER_CMD=notebook \ -e DOCKER_STACKS_JUPYTER_CMD=notebook \
docker.io/jupyter/base-notebook quay.io/jupyter/base-notebook
# Executing the command: jupyter notebook ... # Executing the command: jupyter notebook ...
# Use Jupyter NBClassic frontend # Use Jupyter NBClassic frontend
docker run -it --rm \ docker run -it --rm \
-p 8888:8888 \ -p 8888:8888 \
-e DOCKER_STACKS_JUPYTER_CMD=nbclassic \ -e DOCKER_STACKS_JUPYTER_CMD=nbclassic \
docker.io/jupyter/base-notebook quay.io/jupyter/base-notebook
# Executing the command: jupyter nbclassic ... # Executing the command: jupyter nbclassic ...
``` ```
@@ -225,7 +225,7 @@ The `start.sh` script supports all the features described above but allows you t
For example, to run the text-based `ipython` console in a container, do the following: For example, to run the text-based `ipython` console in a container, do the following:
```bash ```bash
docker run -it --rm docker.io/jupyter/base-notebook start.sh ipython docker run -it --rm quay.io/jupyter/base-notebook start.sh ipython
``` ```
This script is handy when you derive a new Dockerfile from this image and install additional Jupyter applications with subcommands like `jupyter console`, `jupyter kernelgateway`, etc. This script is handy when you derive a new Dockerfile from this image and install additional Jupyter applications with subcommands like `jupyter console`, `jupyter kernelgateway`, etc.

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
# Name your environment and choose the python version # Name your environment and choose the python version
ARG env_name=python310 ARG env_name=python310

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
# Install the Dask dashboard # Install the Dask dashboard
RUN mamba install --yes 'dask-labextension' && \ RUN mamba install --yes 'dask-labextension' && \

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
RUN mamba install --yes 'jupyterhub==4.0.1' && \ RUN mamba install --yes 'jupyterhub==4.0.1' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
RUN mamba install --yes 'flake8' && \ RUN mamba install --yes 'flake8' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
# Fix: https://github.com/hadolint/hadolint/wiki/DL4006 # Fix: https://github.com/hadolint/hadolint/wiki/DL4006
# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014 # Fix: https://github.com/koalaman/shellcheck/wiki/SC3014

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
# Fix: https://github.com/hadolint/hadolint/wiki/DL4006 # Fix: https://github.com/hadolint/hadolint/wiki/DL4006
# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014 # Fix: https://github.com/koalaman/shellcheck/wiki/SC3014

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
USER root USER root

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
# Install in the default python3 environment # Install in the default python3 environment
RUN pip install --no-cache-dir 'flake8' && \ RUN pip install --no-cache-dir 'flake8' && \

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
RUN mamba install --yes 'jupyterlab_rise' && \ RUN mamba install --yes 'jupyterlab_rise' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook:notebook-6.5.4 FROM quay.io/jupyter/base-notebook:notebook-6.5.4
RUN pip install --no-cache-dir 'jupyter_contrib_nbextensions' && \ RUN pip install --no-cache-dir 'jupyter_contrib_nbextensions' && \
jupyter contrib nbextension install --user && \ jupyter contrib nbextension install --user && \

View File

@@ -1,4 +1,4 @@
FROM docker.io/jupyter/base-notebook FROM quay.io/jupyter/base-notebook
RUN mamba install --yes 'py-xgboost' && \ RUN mamba install --yes 'py-xgboost' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \

View File

@@ -17,7 +17,7 @@ For example:
docker run -it --rm \ docker run -it --rm \
--user root \ --user root \
-e GRANT_SUDO=yes \ -e GRANT_SUDO=yes \
docker.io/jupyter/base-notebook quay.io/jupyter/base-notebook
``` ```
**You should only enable `sudo` if you trust the user and/or if the container is running on an isolated host.** **You should only enable `sudo` if you trust the user and/or if the container is running on an isolated host.**
@@ -298,7 +298,7 @@ This recipe is not tested and might be broken.
``` ```
```dockerfile ```dockerfile
FROM docker.io/jupyter/all-spark-notebook FROM quay.io/jupyter/all-spark-notebook
# Set env vars for pydoop # Set env vars for pydoop
ENV HADOOP_HOME /usr/local/hadoop-2.7.3 ENV HADOOP_HOME /usr/local/hadoop-2.7.3
@@ -381,7 +381,7 @@ For JupyterLab:
```bash ```bash
docker run -it --rm \ docker run -it --rm \
docker.io/jupyter/base-notebook \ quay.io/jupyter/base-notebook \
start-notebook.py --IdentityProvider.token='' start-notebook.py --IdentityProvider.token=''
``` ```
@@ -390,7 +390,7 @@ For Jupyter Notebook:
```bash ```bash
docker run -it --rm \ docker run -it --rm \
-e DOCKER_STACKS_JUPYTER_CMD=notebook \ -e DOCKER_STACKS_JUPYTER_CMD=notebook \
docker.io/jupyter/base-notebook \ quay.io/jupyter/base-notebook \
start-notebook.py --IdentityProvider.token='' start-notebook.py --IdentityProvider.token=''
``` ```
@@ -415,7 +415,7 @@ Please note that the [Delta Lake](https://delta.io/) packages are only available
By adding the properties to `spark-defaults.conf`, the user no longer needs to enable Delta support in each notebook. By adding the properties to `spark-defaults.conf`, the user no longer needs to enable Delta support in each notebook.
```dockerfile ```dockerfile
FROM docker.io/jupyter/pyspark-notebook FROM quay.io/jupyter/pyspark-notebook
RUN mamba install --yes 'delta-spark' && \ RUN mamba install --yes 'delta-spark' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \
@@ -446,7 +446,7 @@ This recipe is not tested and might be broken.
The example below is a Dockerfile to load Source Han Sans with normal weight, usually used for the web. The example below is a Dockerfile to load Source Han Sans with normal weight, usually used for the web.
```dockerfile ```dockerfile
FROM docker.io/jupyter/scipy-notebook FROM quay.io/jupyter/scipy-notebook
RUN PYV=$(ls "${CONDA_DIR}/lib" | grep ^python) && \ RUN PYV=$(ls "${CONDA_DIR}/lib" | grep ^python) && \
MPL_DATA="${CONDA_DIR}/lib/${PYV}/site-packages/matplotlib/mpl-data" && \ MPL_DATA="${CONDA_DIR}/lib/${PYV}/site-packages/matplotlib/mpl-data" && \
@@ -477,7 +477,7 @@ and add these options when running `docker`: `-e DISPLAY -v /tmp/.X11-unix:/tmp/
docker run -it --rm \ docker run -it --rm \
-e DISPLAY \ -e DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \ -v /tmp/.X11-unix:/tmp/.X11-unix \
docker.io/jupyter/minimal-notebook quay.io/jupyter/minimal-notebook
``` ```
## Add ijavascript kernel to container ## Add ijavascript kernel to container
@@ -489,7 +489,7 @@ This recipe is not tested and might be broken.
The example below is a Dockerfile to install the [ijavascript kernel](https://github.com/n-riesco/ijavascript). The example below is a Dockerfile to install the [ijavascript kernel](https://github.com/n-riesco/ijavascript).
```dockerfile ```dockerfile
FROM docker.io/jupyter/scipy-notebook FROM quay.io/jupyter/scipy-notebook
# install ijavascript # install ijavascript
RUN npm install -g ijavascript RUN npm install -g ijavascript

View File

@@ -15,12 +15,12 @@ The following are some common patterns.
### Example 1 ### Example 1
This command pulls the `jupyter/scipy-notebook` image tagged `2023-09-25` from Docker Hub if it is not already present on the local host. This command pulls the `jupyter/scipy-notebook` image tagged `2023-09-25` from Quay.io if it is not already present on the local host.
It then starts a container running Jupyter Server with the JupyterLab frontend and exposes the server on host port 8888. It then starts a container running Jupyter Server with the JupyterLab frontend and exposes the server on host port 8888.
The server logs appear in the terminal and include a URL to the server. The server logs appear in the terminal and include a URL to the server.
```bash ```bash
docker run -it -p 8888:8888 docker.io/jupyter/scipy-notebook:2023-09-25 docker run -it -p 8888:8888 quay.io/jupyter/scipy-notebook:2023-09-25
# Entered start.sh with args: jupyter lab # Entered start.sh with args: jupyter lab
@@ -53,12 +53,12 @@ docker rm 221331c047c4
### Example 2 ### Example 2
This command pulls the `jupyter/r-notebook` image tagged `2023-09-25` from Docker Hub if it is not already present on the local host. This command pulls the `jupyter/r-notebook` image tagged `2023-09-25` from Quay.io if it is not already present on the local host.
It then starts a container running Server and exposes the server on host port 10000. It then starts a container running Server and exposes the server on host port 10000.
The server logs appear in the terminal and include a URL to the Server, but with the internal container port (8888) instead of the correct host port (10000). The server logs appear in the terminal and include a URL to the Server, but with the internal container port (8888) instead of the correct host port (10000).
```bash ```bash
docker run -it --rm -p 10000:8888 -v "${PWD}":/home/jovyan/work docker.io/jupyter/r-notebook:2023-09-25 docker run -it --rm -p 10000:8888 -v "${PWD}":/home/jovyan/work quay.io/jupyter/r-notebook:2023-09-25
``` ```
Pressing `Ctrl-C` twice shuts down the Server and immediately destroys the Docker container. Pressing `Ctrl-C` twice shuts down the Server and immediately destroys the Docker container.
@@ -74,11 +74,11 @@ To change the default directory, you will need to specify `ServerApp.root_dir` b
### Example 3 ### Example 3
This command pulls the `jupyter/all-spark-notebook` image currently tagged `latest` from Docker Hub if an image tagged `latest` is not already present on the local host. This command pulls the `jupyter/all-spark-notebook` image currently tagged `latest` from Quay.io if an image tagged `latest` is not already present on the local host.
It then starts a container named `notebook` running a JupyterLab server and exposes the server on a randomly selected port. It then starts a container named `notebook` running a JupyterLab server and exposes the server on a randomly selected port.
```bash ```bash
docker run --detach -P --name notebook docker.io/jupyter/all-spark-notebook docker run --detach -P --name notebook quay.io/jupyter/all-spark-notebook
``` ```
where: where:
@@ -137,7 +137,7 @@ subuidSize=$(( $(podman info --format "{{ range .Host.IDMappings.UIDMap }}+{{.Si
subgidSize=$(( $(podman info --format "{{ range .Host.IDMappings.GIDMap }}+{{.Size }}{{end }}" ) - 1 )) subgidSize=$(( $(podman info --format "{{ range .Host.IDMappings.GIDMap }}+{{.Size }}{{end }}" ) - 1 ))
``` ```
This command pulls the `docker.io/jupyter/r-notebook` image tagged `2023-09-25` from Docker Hub if it is not already present on the local host. This command pulls the `quay.io/jupyter/r-notebook` image tagged `2023-09-25` from Quay.io if it is not already present on the local host.
It then starts a container running a Jupyter Server with the JupyterLab frontend and exposes the server on host port 10000. It then starts a container running a Jupyter Server with the JupyterLab frontend and exposes the server on host port 10000.
The server logs appear in the terminal and include a URL to the server, but with the internal container port (8888) instead of the correct host port (10000). The server logs appear in the terminal and include a URL to the server, but with the internal container port (8888) instead of the correct host port (10000).
@@ -146,7 +146,7 @@ podman run -it --rm -p 10000:8888 \
-v "${PWD}":/home/jovyan/work --user $uid:$gid \ -v "${PWD}":/home/jovyan/work --user $uid:$gid \
--uidmap $uid:0:1 --uidmap 0:1:$uid --uidmap $(($uid+1)):$(($uid+1)):$(($subuidSize-$uid)) \ --uidmap $uid:0:1 --uidmap 0:1:$uid --uidmap $(($uid+1)):$(($uid+1)):$(($subuidSize-$uid)) \
--gidmap $gid:0:1 --gidmap 0:1:$gid --gidmap $(($gid+1)):$(($gid+1)):$(($subgidSize-$gid)) \ --gidmap $gid:0:1 --gidmap 0:1:$gid --gidmap $(($gid+1)):$(($gid+1)):$(($subgidSize-$gid)) \
docker.io/jupyter/r-notebook:2023-09-25 quay.io/jupyter/r-notebook:2023-09-25
``` ```
```{warning} ```{warning}

View File

@@ -20,7 +20,7 @@ The following sections describe these images, including their contents, relation
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/docker-stacks-foundation) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/docker-stacks-foundation) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/docker-stacks-foundation/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/docker-stacks-foundation/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/docker-stacks-foundation/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/docker-stacks-foundation?tab=tags)
`jupyter/docker-stacks-foundation` is a small image supporting a majority of [options common across all core stacks](common.md). `jupyter/docker-stacks-foundation` is a small image supporting a majority of [options common across all core stacks](common.md).
It is the basis for all other stacks on which Jupyter-related applications can be built It is the basis for all other stacks on which Jupyter-related applications can be built
@@ -46,7 +46,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/base-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/base-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/base-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/base-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/base-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/base-notebook?tab=tags)
`jupyter/base-notebook` adds base Jupyter Applications like JupyterLab, Jupyter Notebook, JupyterHub and NBClassic `jupyter/base-notebook` adds base Jupyter Applications like JupyterLab, Jupyter Notebook, JupyterHub and NBClassic
and serves as the basis for all other stacks besides `jupyter/docker-stacks-foundation`. and serves as the basis for all other stacks besides `jupyter/docker-stacks-foundation`.
@@ -71,7 +71,7 @@ The shim `.sh` files will be removed at some future date.
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/minimal-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/minimal-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/minimal-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/minimal-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/minimal-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/minimal-notebook?tab=tags)
`jupyter/minimal-notebook` adds command-line tools useful when working in Jupyter applications. `jupyter/minimal-notebook` adds command-line tools useful when working in Jupyter applications.
@@ -91,7 +91,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/r-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/r-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/r-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/r-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/r-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/t-notebook?tab=tags)
`jupyter/r-notebook` includes popular packages from the R ecosystem listed below: `jupyter/r-notebook` includes popular packages from the R ecosystem listed below:
@@ -122,7 +122,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/julia-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/julia-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/julia-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/julia-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/julia-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/julia-notebook?tab=tags)
`jupyter/julia-notebook` includes popular packages from the Julia ecosystem listed below: `jupyter/julia-notebook` includes popular packages from the Julia ecosystem listed below:
@@ -136,7 +136,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/scipy-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/scipy-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/scipy-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/scipy-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/scipy-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/scipy-notebook?tab=tags)
`jupyter/scipy-notebook` includes popular packages from the scientific Python ecosystem. `jupyter/scipy-notebook` includes popular packages from the scientific Python ecosystem.
@@ -180,7 +180,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/tensorflow-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/tensorflow-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/tensorflow-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/tensorflow-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/tensorflow-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/tensorflow-notebook?tab=tags)
`jupyter/tensorflow-notebook` includes popular Python deep learning libraries. `jupyter/tensorflow-notebook` includes popular Python deep learning libraries.
@@ -191,7 +191,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/datascience-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/datascience-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/datascience-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/datascience-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/datascience-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/datascience-notebook?tab=tags)
`jupyter/datascience-notebook` includes libraries for data analysis from the Python, and R, and Julia communities. `jupyter/datascience-notebook` includes libraries for data analysis from the Python, and R, and Julia communities.
@@ -203,7 +203,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/pyspark-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/pyspark-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/pyspark-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/pyspark-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/pyspark-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/pyspark-notebook?tab=tags)
`jupyter/pyspark-notebook` includes Python support for Apache Spark. `jupyter/pyspark-notebook` includes Python support for Apache Spark.
@@ -215,7 +215,7 @@ It contains:
[Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/all-spark-notebook) | [Source on GitHub](https://github.com/jupyter/docker-stacks/tree/main/images/all-spark-notebook) |
[Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/all-spark-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/main/images/all-spark-notebook/Dockerfile) |
[Docker Hub image tags](https://hub.docker.com/r/jupyter/all-spark-notebook/tags/) [Quay.io image tags](https://quay.io/repository/jupyter/all-spark-notebook?tab=tags)
`jupyter/all-spark-notebook` includes Python and R support for Apache Spark. `jupyter/all-spark-notebook` includes Python and R support for Apache Spark.
@@ -236,7 +236,7 @@ diagram](../images/inherit.svg)](http://interactive.blockdiag.com/?compression=d
### Builds ### Builds
Every Monday and whenever a pull request is merged, images are rebuilt and pushed to [the public container registry](https://hub.docker.com/u/jupyter). Every Monday and whenever a pull request is merged, images are rebuilt and pushed to [the public container registry](https://quay.io/organization/jupyter).
### Versioning via image tags ### Versioning via image tags

View File

@@ -14,7 +14,7 @@ This page provides details about features specific to one or more images.
Every new spark context that is created is put onto an incrementing port (i.e. 4040, 4041, 4042, etc.), and it might be necessary to open multiple ports. Every new spark context that is created is put onto an incrementing port (i.e. 4040, 4041, 4042, etc.), and it might be necessary to open multiple ports.
``` ```
For example: `docker run --detach -p 8888:8888 -p 4040:4040 -p 4041:4041 docker.io/jupyter/pyspark-notebook`. For example: `docker run --detach -p 8888:8888 -p 4040:4040 -p 4041:4041 quay.io/jupyter/pyspark-notebook`.
#### IPython low-level output capture and forward #### IPython low-level output capture and forward
@@ -72,7 +72,7 @@ docker build --rm --force-rm \
--build-arg openjdk_version=11 --build-arg openjdk_version=11
# Check the newly built image # Check the newly built image
docker run -it --rm docker.io/jupyter/pyspark-notebook:spark-3.2.0 pyspark --version docker run -it --rm quay.io/jupyter/pyspark-notebook:spark-3.2.0 pyspark --version
# Welcome to # Welcome to
# ____ __ # ____ __

View File

@@ -14,7 +14,7 @@ If you are running a Docker container while mounting a local volume or host dire
docker run -it --rm \ docker run -it --rm \
-p 8888:8888 \ -p 8888:8888 \
-v <my-vol>:<container-dir> \ -v <my-vol>:<container-dir> \
docker.io/jupyter/minimal-notebook:latest quay.io/jupyter/minimal-notebook:latest
``` ```
you might face permissions issues when trying to access the mounted volume: you might face permissions issues when trying to access the mounted volume:
@@ -48,7 +48,7 @@ The following sections cover a few of these scenarios and how to fix them.
--user root \ --user root \
-e CHOWN_EXTRA="<container-dir>" \ -e CHOWN_EXTRA="<container-dir>" \
-e CHOWN_EXTRA_OPTS="-R" \ -e CHOWN_EXTRA_OPTS="-R" \
docker.io/jupyter/minimal-notebook quay.io/jupyter/minimal-notebook
``` ```
where: where:
@@ -95,7 +95,7 @@ The following sections cover a few of these scenarios and how to fix them.
-e NB_UID=1234 \ -e NB_UID=1234 \
-e NB_GID=5678 \ -e NB_GID=5678 \
-v "${PWD}"/test:/home/jovyan/work \ -v "${PWD}"/test:/home/jovyan/work \
docker.io/jupyter/minimal-notebook:latest quay.io/jupyter/minimal-notebook:latest
# you should see an output similar to this # you should see an output similar to this
# Update jovyan's UID:GID to 1234:5678 # Update jovyan's UID:GID to 1234:5678
@@ -144,7 +144,7 @@ If you have also **created a new user**, you might be experiencing any of the fo
-e CHOWN_HOME_OPTS="-R" \ -e CHOWN_HOME_OPTS="-R" \
-w "/home/callisto" \ -w "/home/callisto" \
-v "${PWD}"/test:/home/callisto/work \ -v "${PWD}"/test:/home/callisto/work \
docker.io/jupyter/minimal-notebook quay.io/jupyter/minimal-notebook
# Updated the jovyan user: # Updated the jovyan user:
# - username: jovyan -> callisto # - username: jovyan -> callisto
@@ -187,7 +187,7 @@ If you have also **created a new user**, you might be experiencing any of the fo
-e CHOWN_HOME_OPTS="-R" \ -e CHOWN_HOME_OPTS="-R" \
-w "/home/callisto" \ -w "/home/callisto" \
-v "${PWD}"/test:/home/callisto/work \ -v "${PWD}"/test:/home/callisto/work \
docker.io/jupyter/minimal-notebook quay.io/jupyter/minimal-notebook
``` ```
where: where:
@@ -214,7 +214,7 @@ If you have also **created a new user**, you might be experiencing any of the fo
docker run -it --rm \ docker run -it --rm \
-p 8888:8888 \ -p 8888:8888 \
--user "$(id -u)" --group-add users \ --user "$(id -u)" --group-add users \
-v <my-vol>:/home/jovyan/work docker.io/jupyter/datascience-notebook -v <my-vol>:/home/jovyan/work quay.io/jupyter/datascience-notebook
``` ```
This command will launch the container with a specific user UID and add that user to the `users` group to modify the files in the default `/home` and `/opt/conda` directories. This command will launch the container with a specific user UID and add that user to the `users` group to modify the files in the default `/home` and `/opt/conda` directories.
@@ -318,7 +318,7 @@ If you are a regular user of VSCode and the Jupyter extension, you might experie
You can see an example of mapping to local port `8001`: You can see an example of mapping to local port `8001`:
```bash ```bash
docker run -it --rm -p 8001:8888 docker.io/jupyter/datascience-notebook docker run -it --rm -p 8001:8888 quay.io/jupyter/datascience-notebook
``` ```
When the terminal provides the link to access Jupyter: <http://127.0.0.1:8888/lab?token=80d45d241a1ba4c2...>, When the terminal provides the link to access Jupyter: <http://127.0.0.1:8888/lab?token=80d45d241a1ba4c2...>,

View File

@@ -42,7 +42,7 @@ You can customize the docker-stack notebook image to deploy by modifying the `no
For example, you can build and deploy a `jupyter/all-spark-notebook` by modifying the Dockerfile like so: For example, you can build and deploy a `jupyter/all-spark-notebook` by modifying the Dockerfile like so:
```dockerfile ```dockerfile
FROM docker.io/jupyter/all-spark-notebook FROM quay.io/jupyter/all-spark-notebook
# Your RUN commands and so on # Your RUN commands and so on
``` ```

View File

@@ -2,7 +2,7 @@
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
# Pick your favorite docker-stacks image # Pick your favorite docker-stacks image
FROM docker.io/jupyter/minimal-notebook FROM quay.io/jupyter/minimal-notebook
USER root USER root

View File

@@ -2,7 +2,7 @@
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
# Pick your favorite docker-stacks image # Pick your favorite docker-stacks image
FROM docker.io/jupyter/minimal-notebook FROM quay.io/jupyter/minimal-notebook
USER root USER root

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/pyspark-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/pyspark-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/docker-stacks-foundation ARG BASE_CONTAINER=$REGISTRY/$OWNER/docker-stacks-foundation
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/scipy-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/scipy-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/minimal-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/minimal-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/base-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/base-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/scipy-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/scipy-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/minimal-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/minimal-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/minimal-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/minimal-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -1,6 +1,6 @@
# Copyright (c) Jupyter Development Team. # Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License. # Distributed under the terms of the Modified BSD License.
ARG REGISTRY=docker.io ARG REGISTRY=quay.io
ARG OWNER=jupyter ARG OWNER=jupyter
ARG BASE_CONTAINER=$REGISTRY/$OWNER/scipy-notebook ARG BASE_CONTAINER=$REGISTRY/$OWNER/scipy-notebook
FROM $BASE_CONTAINER FROM $BASE_CONTAINER

View File

@@ -4,8 +4,8 @@ The main purpose of the source code in this folder is to properly tag all the im
These two processes are closely related, so the source code is widely reused. These two processes are closely related, so the source code is widely reused.
A basic example of a tag is a `python` version tag. A basic example of a tag is a `python` version tag.
For example, an image `jupyter/base-notebook` with `python 3.10.5` will have a full image name `docker.io/jupyter/base-notebook:python-3.10.5`. For example, an image `jupyter/base-notebook` with `python 3.10.5` will have a full image name `quay.io/jupyter/base-notebook:python-3.10.5`.
This tag (and all the other tags) are pushed to Docker Hub. This tag (and all the other tags) are pushed to Quay.io.
Manifest is a description of some important part of the image in a `markdown`. Manifest is a description of some important part of the image in a `markdown`.
For example, we dump all the `conda` packages, including their versions. For example, we dump all the `conda` packages, including their versions.