Fix some grammar issues

This commit is contained in:
Ayaz Salikhov
2023-11-19 02:01:42 +01:00
parent 71e66b2d57
commit d03229331a
22 changed files with 90 additions and 90 deletions

View File

@@ -124,5 +124,5 @@ body:
label: Latest Docker version label: Latest Docker version
description: You should try to use the latest Docker version description: You should try to use the latest Docker version
options: options:
- label: I've updated my Docker version to the latest available, and the issue still persists - label: I've updated my Docker version to the latest available, and the issue persists
required: true required: true

View File

@@ -1,5 +1,5 @@
name: Build environment name: Build environment
description: Create build environment description: Create a build environment
runs: runs:
using: composite using: composite

View File

@@ -1,5 +1,5 @@
name: Load Docker image name: Load Docker image
description: Download image tar and load it to docker description: Download the image tar and load it to Docker
inputs: inputs:
image: image:

View File

@@ -2,7 +2,7 @@ name: Test aarch64-runner setup script
on: on:
schedule: schedule:
# Weekly, at 03:00 on Monday UTC time # Weekly, at 03:00 on Monday UTC
- cron: "0 3 * * 1" - cron: "0 3 * * 1"
pull_request: pull_request:
paths: paths:
@@ -18,7 +18,7 @@ on:
jobs: jobs:
test-script: test-script:
# The script itself is not aarch64 specific # The script itself is not aarch64-specific
# It is easier to test on ubuntu-latest # It is easier to test on ubuntu-latest
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@@ -1,4 +1,4 @@
name: Test contributed recipes name: Test the contributed recipes
on: on:
schedule: schedule:
@@ -33,7 +33,7 @@ jobs:
run: docs/using/recipe_code/generate_matrix.py >> $GITHUB_OUTPUT run: docs/using/recipe_code/generate_matrix.py >> $GITHUB_OUTPUT
test-recipes: test-recipes:
runs-on: ${{ matrix.runsOn }} runs-on: ${{ matrix.runs-on }}
needs: generate-matrix needs: generate-matrix
if: github.repository_owner == 'jupyter' if: github.repository_owner == 'jupyter'
@@ -42,7 +42,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Build recipe 🛠 - name: Build recipe 🛠
# We're pulling here to avoid accidentally using image which migt be present on aarch64 self-hosted runner # We're pulling here to avoid accidentally using an image that might be present on aarch64 self-hosted runner
run: docker build --pull --rm --force-rm --tag my-custom-image -f ./${{ matrix.dockerfile }} ./ run: docker build --pull --rm --force-rm --tag my-custom-image -f ./${{ matrix.dockerfile }} ./
env: env:
DOCKER_BUILDKIT: 1 DOCKER_BUILDKIT: 1

View File

@@ -1,4 +1,4 @@
name: Download parent image, build a new one and test it; then upload the image, tags and manifests to GitHub artifacts name: Download a parent image, build a new one, and test it; then upload the image, tags, and manifests to GitHub artifacts
env: env:
REGISTRY: quay.io REGISTRY: quay.io
@@ -7,7 +7,7 @@ env:
on: on:
workflow_call: workflow_call:
inputs: inputs:
parentImage: parent-image:
description: Parent image name description: Parent image name
required: true required: true
type: string type: string
@@ -19,14 +19,14 @@ on:
description: Image platform description: Image platform
required: true required: true
type: string type: string
runsOn: runs-on:
description: GitHub Actions Runner image description: GitHub Actions Runner image
required: true required: true
type: string type: string
jobs: jobs:
build-test-upload: build-test-upload:
runs-on: ${{ inputs.runsOn }} runs-on: ${{ inputs.runs-on }}
steps: steps:
- name: Checkout Repo ⚡️ - name: Checkout Repo ⚡️
@@ -47,14 +47,14 @@ jobs:
shell: bash shell: bash
- name: Load parent built image to Docker 📥 - name: Load parent built image to Docker 📥
if: inputs.parentImage != '' if: inputs.parent-image != ''
uses: ./.github/actions/load-image uses: ./.github/actions/load-image
with: with:
image: ${{ inputs.parentImage }} image: ${{ inputs.parent-image }}
platform: ${{ inputs.platform }} platform: ${{ inputs.platform }}
- name: Pull ubuntu:22.04 image 📥 - name: Pull ubuntu:22.04 image 📥
if: inputs.parentImage == '' if: inputs.parent-image == ''
run: docker pull ubuntu:22.04 run: docker pull ubuntu:22.04
shell: bash shell: bash

View File

@@ -1,4 +1,4 @@
name: Download images tags from GitHub artifacts and create multi-platform manifests name: Download all tags from GitHub artifacts and create multi-platform manifests
env: env:
OWNER: ${{ github.repository_owner }} OWNER: ${{ github.repository_owner }}

View File

@@ -1,4 +1,4 @@
name: Download Docker image and its tags from GitHub artifacts, apply them and push the image to the Registry name: Download a Docker image and its tags from GitHub artifacts, apply them and push the image to the Registry
env: env:
REGISTRY: quay.io REGISTRY: quay.io
@@ -52,8 +52,8 @@ jobs:
path: /tmp/jupyter/tags/ path: /tmp/jupyter/tags/
- name: Apply tags to the loaded image 🏷 - name: Apply tags to the loaded image 🏷
run: python3 -m tagging.apply_tags --short-image-name ${{ inputs.image }} --tags-dir /tmp/jupyter/tags/ --platform ${{ inputs.platform }} --registry ${{ env.REGISTRY }} --owner ${{ env.OWNER }} run: python3 -m tagging.apply_tags --short-image-name ${{ inputs.image }} --tags-dir /tmp/jupyter/tags/ --platform ${{ inputs.platform }} --registry ${{ env.REGISTRY }} --owner ${{ env.OWNER }}
# This step is needed to prevent pushing non-multiarch "latest" tag # This step is needed to prevent pushing non-multi-arch "latest" tag
- name: Remove "latest" tag from the image 🗑️ - name: Remove the "latest" tag from the image 🗑️
run: docker image rmi ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ inputs.image }}:latest run: docker image rmi ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ inputs.image }}:latest
- name: Push Images to Registry 📤 - name: Push Images to Registry 📤

View File

@@ -1,18 +1,18 @@
name: Build, test and push Docker Images name: Build, test, and push Docker Images
# [FAST_BUILD] in the PR title makes this workflow only build # [FAST_BUILD] in the PR title makes this workflow only build
# `jupyter/docker-stacks-foundation` and `jupyter/base-notebook` # the `jupyter/docker-stacks-foundation` and `jupyter/base-notebook` images
# This allows to run CI faster if full build is not required # This allows to run CI faster if a full build is not required
# This only works for `pull_request` event and has no effect on `push` to the `main` branch # This only works for a `pull_request` event and does not affect `push` to the `main` branch
on: on:
schedule: schedule:
# Weekly, at 03:00 on Monday UTC time # Weekly, at 03:00 on Monday UTC
- cron: "0 3 * * 1" - cron: "0 3 * * 1"
pull_request: pull_request:
paths: paths:
- ".github/workflows/docker.yml" - ".github/workflows/docker.yml"
# We use local reusable workflows to make architecture clean an simple # We use local reusable workflows to make architecture clean and simple
# https://docs.github.com/en/actions/using-workflows/reusing-workflows # https://docs.github.com/en/actions/using-workflows/reusing-workflows
- ".github/workflows/docker-build-test-upload.yml" - ".github/workflows/docker-build-test-upload.yml"
- ".github/workflows/docker-merge-tags.yml" - ".github/workflows/docker-merge-tags.yml"
@@ -57,7 +57,7 @@ on:
# https://docs.github.com/en/actions/using-jobs/using-concurrency # https://docs.github.com/en/actions/using-jobs/using-concurrency
concurrency: concurrency:
# only cancel in-progress jobs or runs for the current workflow - matches against branch & tags # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
@@ -65,196 +65,196 @@ jobs:
aarch64-foundation: aarch64-foundation:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: "" parent-image: ""
image: docker-stacks-foundation image: docker-stacks-foundation
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
if: github.repository_owner == 'jupyter' if: github.repository_owner == 'jupyter'
x86_64-foundation: x86_64-foundation:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: "" parent-image: ""
image: docker-stacks-foundation image: docker-stacks-foundation
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
aarch64-base: aarch64-base:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: docker-stacks-foundation parent-image: docker-stacks-foundation
image: base-notebook image: base-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-foundation] needs: [aarch64-foundation]
if: github.repository_owner == 'jupyter' if: github.repository_owner == 'jupyter'
x86_64-base: x86_64-base:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: docker-stacks-foundation parent-image: docker-stacks-foundation
image: base-notebook image: base-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-foundation] needs: [x86_64-foundation]
aarch64-minimal: aarch64-minimal:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: base-notebook parent-image: base-notebook
image: minimal-notebook image: minimal-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-base] needs: [aarch64-base]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-minimal: x86_64-minimal:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: base-notebook parent-image: base-notebook
image: minimal-notebook image: minimal-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-base] needs: [x86_64-base]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-scipy: aarch64-scipy:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: minimal-notebook parent-image: minimal-notebook
image: scipy-notebook image: scipy-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-minimal] needs: [aarch64-minimal]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-scipy: x86_64-scipy:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: minimal-notebook parent-image: minimal-notebook
image: scipy-notebook image: scipy-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-minimal] needs: [x86_64-minimal]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-r: aarch64-r:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: minimal-notebook parent-image: minimal-notebook
image: r-notebook image: r-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-minimal] needs: [aarch64-minimal]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-r: x86_64-r:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: minimal-notebook parent-image: minimal-notebook
image: r-notebook image: r-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-minimal] needs: [x86_64-minimal]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-julia: aarch64-julia:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: minimal-notebook parent-image: minimal-notebook
image: julia-notebook image: julia-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-minimal] needs: [aarch64-minimal]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-julia: x86_64-julia:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: minimal-notebook parent-image: minimal-notebook
image: julia-notebook image: julia-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-minimal] needs: [x86_64-minimal]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-tensorflow: aarch64-tensorflow:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: scipy-notebook parent-image: scipy-notebook
image: tensorflow-notebook image: tensorflow-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-scipy] needs: [aarch64-scipy]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-tensorflow: x86_64-tensorflow:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: scipy-notebook parent-image: scipy-notebook
image: tensorflow-notebook image: tensorflow-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-scipy] needs: [x86_64-scipy]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-datascience: aarch64-datascience:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: scipy-notebook parent-image: scipy-notebook
image: datascience-notebook image: datascience-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-scipy] needs: [aarch64-scipy]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-datascience: x86_64-datascience:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: scipy-notebook parent-image: scipy-notebook
image: datascience-notebook image: datascience-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-scipy] needs: [x86_64-scipy]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-pyspark: aarch64-pyspark:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: scipy-notebook parent-image: scipy-notebook
image: pyspark-notebook image: pyspark-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-scipy] needs: [aarch64-scipy]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-pyspark: x86_64-pyspark:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: scipy-notebook parent-image: scipy-notebook
image: pyspark-notebook image: pyspark-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-scipy] needs: [x86_64-scipy]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}
aarch64-all-spark: aarch64-all-spark:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: pyspark-notebook parent-image: pyspark-notebook
image: all-spark-notebook image: all-spark-notebook
platform: aarch64 platform: aarch64
runsOn: ARM64 runs-on: ARM64
needs: [aarch64-pyspark] needs: [aarch64-pyspark]
if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]')
x86_64-all-spark: x86_64-all-spark:
uses: ./.github/workflows/docker-build-test-upload.yml uses: ./.github/workflows/docker-build-test-upload.yml
with: with:
parentImage: pyspark-notebook parent-image: pyspark-notebook
image: all-spark-notebook image: all-spark-notebook
platform: x86_64 platform: x86_64
runsOn: ubuntu-latest runs-on: ubuntu-latest
needs: [x86_64-pyspark] needs: [x86_64-pyspark]
if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }}

View File

@@ -17,7 +17,7 @@ on:
jobs: jobs:
update-overview: update-overview:
# To be able to use latest skopeo # To be able to use the latest skopeo
runs-on: macos-latest runs-on: macos-latest
if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru' if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru'

View File

@@ -2,7 +2,7 @@ name: Build Sphinx Documentation and check links
on: on:
schedule: schedule:
# Weekly, at 03:00 on Monday UTC time # Weekly, at 03:00 on Monday UTC
- cron: "0 3 * * 1" - cron: "0 3 * * 1"
pull_request: pull_request:
paths: paths:

View File

@@ -91,7 +91,7 @@ more information is available in the [documentation](https://jupyter-docker-stac
## Acknowledgments ## Acknowledgments
- Starting from `2023-10-31`, `aarch64` self-hosted runners are sponsored by amazing [`2i2c non-profit organization`](https://2i2c.org) - Starting from `2023-10-31`, `aarch64` self-hosted runners are sponsored by an amazing [`2i2c non-profit organization`](https://2i2c.org)
## CPU Architectures ## CPU Architectures
@@ -103,7 +103,7 @@ more information is available in the [documentation](https://jupyter-docker-stac
## Using old images ## Using old images
This project only builds one set of images at a time. This project only builds one set of images at a time.
If you want to use the older `Ubuntu` and/or `python` version, you can use the following images: If you want to use the older `Ubuntu` and/or `Python` version, you can use the following images:
| Build Date | Ubuntu | Python | Tag | | Build Date | Ubuntu | Python | Tag |
| ------------ | ------ | ------ | -------------- | | ------------ | ------ | ------ | -------------- |

View File

@@ -24,9 +24,9 @@ Roughly speaking, we evaluate new features based on the following criteria:
Is the feature generally applicable across domains? Is the feature generally applicable across domains?
Does it work with JupyterLab, Jupyter Notebook, JupyterHub, etc.? Does it work with JupyterLab, Jupyter Notebook, JupyterHub, etc.?
- **Fit with the image purpose**: - **Fit with the image purpose**:
Does the feature match the theme of the stack in which it will be added? Does the feature match the theme of the stack to which it will be added?
Would it fit better in a new community stack? Would it fit better in a new community stack?
- **Complexity of build/runtime configuration**: - **The complexity of build/runtime configuration**:
How many lines of code does the feature require in one of the Dockerfiles or startup scripts? How many lines of code does the feature require in one of the Dockerfiles or startup scripts?
Does it require new scripts entirely? Does it require new scripts entirely?
Do users need to adjust how they use the images? Do users need to adjust how they use the images?
@@ -36,7 +36,7 @@ Roughly speaking, we evaluate new features based on the following criteria:
- **Ability to support the addition**: - **Ability to support the addition**:
Can existing maintainers answer user questions and address future build issues? Can existing maintainers answer user questions and address future build issues?
Are the contributors interested in helping with long-term maintenance? Are the contributors interested in helping with long-term maintenance?
Can we write tests to ensure the feature continues to work over time? Can we write tests to ensure the feature continues to work over the years?
## Submitting a Pull Request ## Submitting a Pull Request

View File

@@ -6,7 +6,7 @@ Each runner is recommended to have at least _2 cores_ and _30 GB_ of disk space.
Add a new runner: Add a new runner:
- To use [Oracle OCI](https://www.oracle.com/cloud/), create a compute instance `VM.Standard.A1.Flex` . - To use [Oracle OCI](https://www.oracle.com/cloud/), create a compute instance `VM.Standard.A1.Flex`.
- To use [Google Cloud](https://cloud.google.com), use [this instruction](https://cloud.google.com/compute/docs/instances/create-arm-vm-instance#armpublicimage). - To use [Google Cloud](https://cloud.google.com), use [this instruction](https://cloud.google.com/compute/docs/instances/create-arm-vm-instance#armpublicimage).
Configure your runner: Configure your runner:
@@ -19,7 +19,7 @@ Configure your runner:
This will perform the initial runner setup and create a user `runner-user` without `sudo` capabilities. This will perform the initial runner setup and create a user `runner-user` without `sudo` capabilities.
2. Setup new GitHub Runner under `runner-user` using [GitHub Instructions](https://github.com/jupyter/docker-stacks/settings/actions/runners/new?arch=arm64&os=linux). 2. Set up a new GitHub Runner under `runner-user` using [GitHub Instructions](https://github.com/jupyter/docker-stacks/settings/actions/runners/new?arch=arm64&os=linux).
**Do not `./run.sh` yet**. **Do not `./run.sh` yet**.
3. Run under `root`: 3. Run under `root`:

View File

@@ -16,14 +16,14 @@ To build new images and publish them to the Registry, do the following:
4. Avoid merging another PR to the main branch until all pending builds in the main branch are complete. 4. Avoid merging another PR to the main branch until all pending builds in the main branch are complete.
This way, you will know which commit might have broken the build This way, you will know which commit might have broken the build
and also have the correct tags for moving tags (like the `python` version). and also have the correct tags for moving tags (like the `Python` version).
## Updating Python version ## Updating Python version
When a new `Python` version is released, we wait for: When a new `Python` version is released, we wait for:
- all the dependencies to be available (as wheels or in `conda-forge`). - all the dependencies to be available (as wheels or in `conda-forge`).
- the first `python` patch release for this version. - the first `Python` patch release for this version.
This allows us to avoid many bugs, which can happen in a major release. This allows us to avoid many bugs, which can happen in a major release.
## Updating the Ubuntu Base Image ## Updating the Ubuntu Base Image

View File

@@ -262,7 +262,7 @@ conda install --yes some-package && \
fix-permissions "/home/${NB_USER}" fix-permissions "/home/${NB_USER}"
``` ```
### Using alternative channels ### Using Alternative Channels
Conda is configured by default to use only the [`conda-forge`](https://anaconda.org/conda-forge) channel. Conda is configured by default to use only the [`conda-forge`](https://anaconda.org/conda-forge) channel.
However, you can use alternative channels, either one-shot by overwriting the default channel in the installation command or by configuring `mamba` to use different channels. However, you can use alternative channels, either one-shot by overwriting the default channel in the installation command or by configuring `mamba` to use different channels.

View File

@@ -15,11 +15,11 @@ There are 2 types of data, which you might want to persist.
To make it work, install this package in your inherited image and rerun `docker build` command. To make it work, install this package in your inherited image and rerun `docker build` command.
``` ```
2. If you want to persist user data (files created by you, like `python` scripts, notebooks, text files, and so on), 2. If you want to persist user data (files created by you, like `Python` scripts, notebooks, text files, and so on),
then you should use a then you should use a
[Docker bind mount](https://docs.docker.com/storage/bind-mounts/) or [Docker bind mount](https://docs.docker.com/storage/bind-mounts/) or
[Docker Volume](https://docs.docker.com/storage/volumes/). [Docker Volume](https://docs.docker.com/storage/volumes/).
You can find [an example of using bind mount here](./running.md#example-2). You can find [an example of using a bind mount here](./running.md#example-2).
There is also [a mount troubleshooting section](./troubleshooting.md#permission-denied-when-mounting-volumes) if you experience any issues. There is also [a mount troubleshooting section](./troubleshooting.md#permission-denied-when-mounting-volumes) if you experience any issues.
## Why we do not add your favorite package ## Why we do not add your favorite package

View File

@@ -12,8 +12,8 @@ def generate_matrix() -> dict[str, Any]:
dockerfiles = sorted(file.name for file in THIS_DIR.glob("*.dockerfile")) dockerfiles = sorted(file.name for file in THIS_DIR.glob("*.dockerfile"))
return { return {
"dockerfile": dockerfiles, "dockerfile": dockerfiles,
"runsOn": ["ubuntu-latest", "ARM64"], "runs-on": ["ubuntu-latest", "ARM64"],
"exclude": [{"dockerfile": "oracledb.dockerfile", "runsOn": "ARM64"}], "exclude": [{"dockerfile": "oracledb.dockerfile", "runs-on": "ARM64"}],
} }

View File

@@ -140,7 +140,7 @@ subgidSize=$(( $(podman info --format "{{ range .Host.IDMappings.GIDMap }}+{{.Si
This command pulls the `quay.io/jupyter/r-notebook` image tagged `2023-11-17` from Quay.io if it is not already present on the local host. This command pulls the `quay.io/jupyter/r-notebook` image tagged `2023-11-17` 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).
```bash ```bash
podman run -it --rm -p 10000:8888 \ podman run -it --rm -p 10000:8888 \
@@ -188,5 +188,5 @@ instructions for the [dockerspawner](https://github.com/jupyterhub/dockerspawner
## Using Other Tools and Services ## Using Other Tools and Services
You can use the Jupyter Docker Stacks with any Docker-compatible technology You can use the Jupyter Docker Stacks with any Docker-compatible technology
(e.g., [Docker Compose](https://docs.docker.com/compose/), [docker-py](https://github.com/docker/docker-py), your favorite cloud container service). (e.g., [Docker Compose](https://docs.docker.com/compose/), [docker-py](https://github.com/docker/docker-py), or your favorite cloud container service).
See the documentation of the tool, library, or service for details about how to reference, configure, and launch containers from these images. See the documentation of the tool, library, or service for details about how to reference, configure, and launch containers from these images.

View File

@@ -257,7 +257,7 @@ Whenever a docker image is pushed to the container registry, it is tagged with:
``` ```
For stability and reproducibility, you should either reference a date formatted For stability and reproducibility, you should either reference a date formatted
tag from a date before the current date (in UTC time) or a git commit SHA older tag from a date before the current date (in UTC) or a git commit SHA older
than the latest git commit SHA in the default branch of the than the latest git commit SHA in the default branch of the
[jupyter/docker-stacks GitHub repository](https://github.com/jupyter/docker-stacks/). [jupyter/docker-stacks GitHub repository](https://github.com/jupyter/docker-stacks/).

View File

@@ -40,7 +40,7 @@ The following sections cover a few of these scenarios and how to fix them.
You can change the ownership of the volume mount using the `chown` command. You can change the ownership of the volume mount using the `chown` command.
In the case of the docker-stacks images, you can set the `CHOWN_EXTRA` and `CHOWN_EXTRA_OPTS` environment variables. In the case of the docker-stacks images, you can set the `CHOWN_EXTRA` and `CHOWN_EXTRA_OPTS` environment variables.
For example, to change the ownership of the volume mount to the jovyan user (non-privileged default user in the Docker images): For example, to change the ownership of the volume mount to the `jovyan` user (non-privileged default user in the Docker images):
```bash ```bash
# running in detached mode - can also be run in interactive mode # running in detached mode - can also be run in interactive mode
@@ -128,7 +128,7 @@ The following sections cover a few of these scenarios and how to fix them.
If you have also **created a new user**, you might be experiencing any of the following issues: If you have also **created a new user**, you might be experiencing any of the following issues:
- `root` is the owner of `/home` or a mounted volume - the `root` user is the owner of `/home` or a mounted volume
- when starting the container, you get an error such as `Failed to change ownership of the home directory.` - when starting the container, you get an error such as `Failed to change ownership of the home directory.`
- getting permission denied when trying to `conda install` packages - getting permission denied when trying to `conda install` packages
@@ -277,7 +277,7 @@ You can install packages from other conda channels (e.g. `bioconda`) by disablin
conda install --no-channel-priority -c bioconda bioconductor-geoquery conda install --no-channel-priority -c bioconda bioconductor-geoquery
``` ```
Additional details are provided in the [Using alternative channels](../using/common.md#using-alternative-channels) section of the [Common features](common.md) page. Additional details are provided in the [Using Alternative Channels](../using/common.md#using-alternative-channels) section of the [Common Features](common.md) page.
## Tokens are being rejected ## Tokens are being rejected
@@ -334,7 +334,7 @@ you might experience either of these issues when using any of the docker-stacks
``` ```
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...>,
change the default port value of `8888` in the url to the port value mapped with the `docker run` command. change the default port value of `8888` in the URL to the port value mapped with the `docker run` command.
In this example, we use 8001, so the edited link would be: <http://127.0.0.1:8001/lab?token=80d45d241a1ba4c2...>. In this example, we use 8001, so the edited link would be: <http://127.0.0.1:8001/lab?token=80d45d241a1ba4c2...>.

View File

@@ -3,7 +3,7 @@
The main purpose of the source code in this folder is to properly tag all the images and to update [build manifests](https://github.com/jupyter/docker-stacks/wiki). The main purpose of the source code in this folder is to properly tag all the images and to update [build manifests](https://github.com/jupyter/docker-stacks/wiki).
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 `quay.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 Quay.io. This tag (and all the other tags) are pushed to Quay.io.