mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-18 07:22:57 +00:00
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:
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -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
|
||||||
|
|
||||||
|
@@ -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:
|
||||||
|
1
.github/workflows/docker-merge-tags.yml
vendored
1
.github/workflows/docker-merge-tags.yml
vendored
@@ -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 }}
|
||||||
|
|
||||||
|
3
.github/workflows/docker-tag-push.yml
vendored
3
.github/workflows/docker-tag-push.yml
vendored
@@ -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 }}
|
||||||
|
|
||||||
|
12
.github/workflows/docker.yml
vendored
12
.github/workflows/docker.yml
vendored
@@ -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:
|
||||||
|
43
.github/workflows/registry-overviews.yml
vendored
43
.github/workflows/registry-overviews.yml
vendored
@@ -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"
|
|
||||||
|
2
Makefile
2
Makefile
@@ -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
|
||||||
|
12
README.md
12
README.md
@@ -7,7 +7,7 @@
|
|||||||
[](https://discourse.jupyter.org/ "Jupyter Discourse Forum")
|
[](https://discourse.jupyter.org/ "Jupyter Discourse Forum")
|
||||||
[](https://mybinder.org/v2/gh/jupyter/docker-stacks/main?urlpath=lab/tree/README.ipynb "Launch a jupyter/base-notebook container on mybinder.org")
|
[](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
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
@@ -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.
|
||||||
|
|
||||||
|
@@ -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.
|
||||||
|
@@ -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.
|
||||||
|
@@ -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
|
||||||
|
@@ -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' && \
|
||||||
|
@@ -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 && \
|
||||||
|
@@ -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 && \
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM docker.io/jupyter/base-notebook
|
FROM quay.io/jupyter/base-notebook
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
|
@@ -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' && \
|
||||||
|
@@ -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 && \
|
||||||
|
@@ -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 && \
|
||||||
|
@@ -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 && \
|
||||||
|
@@ -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
|
||||||
|
@@ -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}
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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
|
||||||
# ____ __
|
# ____ __
|
||||||
|
@@ -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...>,
|
||||||
|
@@ -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
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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.
|
||||||
|
Reference in New Issue
Block a user