diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index af7aa187..2efad71b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -124,5 +124,5 @@ body: label: Latest Docker version description: You should try to use the latest Docker version 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 diff --git a/.github/actions/create-dev-env/action.yml b/.github/actions/create-dev-env/action.yml index 5686b6d1..2a507f1c 100644 --- a/.github/actions/create-dev-env/action.yml +++ b/.github/actions/create-dev-env/action.yml @@ -1,5 +1,5 @@ name: Build environment -description: Create build environment +description: Create a build environment runs: using: composite diff --git a/.github/actions/load-image/action.yml b/.github/actions/load-image/action.yml index 23195a01..c32f3479 100644 --- a/.github/actions/load-image/action.yml +++ b/.github/actions/load-image/action.yml @@ -1,5 +1,5 @@ name: Load Docker image -description: Download image tar and load it to docker +description: Download the image tar and load it to Docker inputs: image: diff --git a/.github/workflows/aarch64-setup.yml b/.github/workflows/aarch64-setup.yml index 02e01696..441a9aa2 100644 --- a/.github/workflows/aarch64-setup.yml +++ b/.github/workflows/aarch64-setup.yml @@ -2,7 +2,7 @@ name: Test aarch64-runner setup script on: schedule: - # Weekly, at 03:00 on Monday UTC time + # Weekly, at 03:00 on Monday UTC - cron: "0 3 * * 1" pull_request: paths: @@ -18,7 +18,7 @@ on: jobs: test-script: - # The script itself is not aarch64 specific + # The script itself is not aarch64-specific # It is easier to test on ubuntu-latest runs-on: ubuntu-latest diff --git a/.github/workflows/contributed-recipes.yml b/.github/workflows/contributed-recipes.yml index 78821c0b..77d84e04 100644 --- a/.github/workflows/contributed-recipes.yml +++ b/.github/workflows/contributed-recipes.yml @@ -1,4 +1,4 @@ -name: Test contributed recipes +name: Test the contributed recipes on: schedule: @@ -33,7 +33,7 @@ jobs: run: docs/using/recipe_code/generate_matrix.py >> $GITHUB_OUTPUT test-recipes: - runs-on: ${{ matrix.runsOn }} + runs-on: ${{ matrix.runs-on }} needs: generate-matrix if: github.repository_owner == 'jupyter' @@ -42,7 +42,7 @@ jobs: uses: actions/checkout@v4 - 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 }} ./ env: DOCKER_BUILDKIT: 1 diff --git a/.github/workflows/docker-build-test-upload.yml b/.github/workflows/docker-build-test-upload.yml index 6bfc5e6f..2ebad196 100644 --- a/.github/workflows/docker-build-test-upload.yml +++ b/.github/workflows/docker-build-test-upload.yml @@ -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: REGISTRY: quay.io @@ -7,7 +7,7 @@ env: on: workflow_call: inputs: - parentImage: + parent-image: description: Parent image name required: true type: string @@ -19,14 +19,14 @@ on: description: Image platform required: true type: string - runsOn: + runs-on: description: GitHub Actions Runner image required: true type: string jobs: build-test-upload: - runs-on: ${{ inputs.runsOn }} + runs-on: ${{ inputs.runs-on }} steps: - name: Checkout Repo ⚡️ @@ -47,14 +47,14 @@ jobs: shell: bash - name: Load parent built image to Docker 📥 - if: inputs.parentImage != '' + if: inputs.parent-image != '' uses: ./.github/actions/load-image with: - image: ${{ inputs.parentImage }} + image: ${{ inputs.parent-image }} platform: ${{ inputs.platform }} - name: Pull ubuntu:22.04 image 📥 - if: inputs.parentImage == '' + if: inputs.parent-image == '' run: docker pull ubuntu:22.04 shell: bash diff --git a/.github/workflows/docker-merge-tags.yml b/.github/workflows/docker-merge-tags.yml index d1ad9a44..bd90b8b2 100644 --- a/.github/workflows/docker-merge-tags.yml +++ b/.github/workflows/docker-merge-tags.yml @@ -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: OWNER: ${{ github.repository_owner }} diff --git a/.github/workflows/docker-tag-push.yml b/.github/workflows/docker-tag-push.yml index 38ea9f3a..36f56b21 100644 --- a/.github/workflows/docker-tag-push.yml +++ b/.github/workflows/docker-tag-push.yml @@ -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: REGISTRY: quay.io @@ -52,8 +52,8 @@ jobs: path: /tmp/jupyter/tags/ - 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 }} - # This step is needed to prevent pushing non-multiarch "latest" tag - - name: Remove "latest" tag from the image 🗑️ + # This step is needed to prevent pushing non-multi-arch "latest" tag + - name: Remove the "latest" tag from the image 🗑️ run: docker image rmi ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ inputs.image }}:latest - name: Push Images to Registry 📤 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 956542b0..4046c19b 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -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 -# `jupyter/docker-stacks-foundation` and `jupyter/base-notebook` -# This allows to run CI faster if full build is not required -# This only works for `pull_request` event and has no effect on `push` to the `main` branch +# the `jupyter/docker-stacks-foundation` and `jupyter/base-notebook` images +# This allows to run CI faster if a full build is not required +# This only works for a `pull_request` event and does not affect `push` to the `main` branch on: schedule: - # Weekly, at 03:00 on Monday UTC time + # Weekly, at 03:00 on Monday UTC - cron: "0 3 * * 1" pull_request: paths: - ".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 - ".github/workflows/docker-build-test-upload.yml" - ".github/workflows/docker-merge-tags.yml" @@ -57,7 +57,7 @@ on: # https://docs.github.com/en/actions/using-jobs/using-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 }} cancel-in-progress: true @@ -65,196 +65,196 @@ jobs: aarch64-foundation: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: "" + parent-image: "" image: docker-stacks-foundation platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 if: github.repository_owner == 'jupyter' x86_64-foundation: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: "" + parent-image: "" image: docker-stacks-foundation platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest aarch64-base: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: docker-stacks-foundation + parent-image: docker-stacks-foundation image: base-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-foundation] if: github.repository_owner == 'jupyter' x86_64-base: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: docker-stacks-foundation + parent-image: docker-stacks-foundation image: base-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-foundation] aarch64-minimal: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: base-notebook + parent-image: base-notebook image: minimal-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-base] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-minimal: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: base-notebook + parent-image: base-notebook image: minimal-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-base] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-scipy: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: minimal-notebook + parent-image: minimal-notebook image: scipy-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-minimal] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-scipy: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: minimal-notebook + parent-image: minimal-notebook image: scipy-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-minimal] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-r: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: minimal-notebook + parent-image: minimal-notebook image: r-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-minimal] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-r: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: minimal-notebook + parent-image: minimal-notebook image: r-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-minimal] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-julia: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: minimal-notebook + parent-image: minimal-notebook image: julia-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-minimal] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-julia: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: minimal-notebook + parent-image: minimal-notebook image: julia-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-minimal] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-tensorflow: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: scipy-notebook + parent-image: scipy-notebook image: tensorflow-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-scipy] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-tensorflow: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: scipy-notebook + parent-image: scipy-notebook image: tensorflow-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-datascience: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: scipy-notebook + parent-image: scipy-notebook image: datascience-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-scipy] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-datascience: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: scipy-notebook + parent-image: scipy-notebook image: datascience-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-pyspark: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: scipy-notebook + parent-image: scipy-notebook image: pyspark-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-scipy] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-pyspark: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: scipy-notebook + parent-image: scipy-notebook image: pyspark-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-all-spark: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: pyspark-notebook + parent-image: pyspark-notebook image: all-spark-notebook platform: aarch64 - runsOn: ARM64 + runs-on: ARM64 needs: [aarch64-pyspark] if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-all-spark: uses: ./.github/workflows/docker-build-test-upload.yml with: - parentImage: pyspark-notebook + parent-image: pyspark-notebook image: all-spark-notebook platform: x86_64 - runsOn: ubuntu-latest + runs-on: ubuntu-latest needs: [x86_64-pyspark] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} diff --git a/.github/workflows/registry-move.yml b/.github/workflows/registry-move.yml index 83392898..e5c37c91 100644 --- a/.github/workflows/registry-move.yml +++ b/.github/workflows/registry-move.yml @@ -17,7 +17,7 @@ on: jobs: update-overview: - # To be able to use latest skopeo + # To be able to use the latest skopeo runs-on: macos-latest if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru' diff --git a/.github/workflows/sphinx.yml b/.github/workflows/sphinx.yml index d3f56119..a00f229a 100644 --- a/.github/workflows/sphinx.yml +++ b/.github/workflows/sphinx.yml @@ -2,7 +2,7 @@ name: Build Sphinx Documentation and check links on: schedule: - # Weekly, at 03:00 on Monday UTC time + # Weekly, at 03:00 on Monday UTC - cron: "0 3 * * 1" pull_request: paths: diff --git a/README.md b/README.md index 59082c1c..6103c1c9 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ more information is available in the [documentation](https://jupyter-docker-stac ## 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 @@ -103,7 +103,7 @@ more information is available in the [documentation](https://jupyter-docker-stac ## Using old images 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 | | ------------ | ------ | ------ | -------------- | diff --git a/docs/contributing/features.md b/docs/contributing/features.md index 82d268df..b4d68197 100644 --- a/docs/contributing/features.md +++ b/docs/contributing/features.md @@ -24,9 +24,9 @@ Roughly speaking, we evaluate new features based on the following criteria: Is the feature generally applicable across domains? Does it work with JupyterLab, Jupyter Notebook, JupyterHub, etc.? - **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? -- **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? Does it require new scripts entirely? 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**: Can existing maintainers answer user questions and address future build issues? 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 diff --git a/docs/maintaining/aarch64-runner.md b/docs/maintaining/aarch64-runner.md index 45f9c9b3..a0beed19 100644 --- a/docs/maintaining/aarch64-runner.md +++ b/docs/maintaining/aarch64-runner.md @@ -6,7 +6,7 @@ Each runner is recommended to have at least _2 cores_ and _30 GB_ of disk space. 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). 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. -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**. 3. Run under `root`: diff --git a/docs/maintaining/tasks.md b/docs/maintaining/tasks.md index d6a4236f..e909bdf8 100644 --- a/docs/maintaining/tasks.md +++ b/docs/maintaining/tasks.md @@ -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. 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 When a new `Python` version is released, we wait for: - 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. ## Updating the Ubuntu Base Image diff --git a/docs/using/common.md b/docs/using/common.md index ae51a116..c51dd512 100644 --- a/docs/using/common.md +++ b/docs/using/common.md @@ -262,7 +262,7 @@ conda install --yes some-package && \ 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. 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. diff --git a/docs/using/faq.md b/docs/using/faq.md index 12056fe5..a8b71688 100644 --- a/docs/using/faq.md +++ b/docs/using/faq.md @@ -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. ``` -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 [Docker bind mount](https://docs.docker.com/storage/bind-mounts/) or [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. ## Why we do not add your favorite package diff --git a/docs/using/recipe_code/generate_matrix.py b/docs/using/recipe_code/generate_matrix.py index 417cdfb1..62159f30 100755 --- a/docs/using/recipe_code/generate_matrix.py +++ b/docs/using/recipe_code/generate_matrix.py @@ -12,8 +12,8 @@ def generate_matrix() -> dict[str, Any]: dockerfiles = sorted(file.name for file in THIS_DIR.glob("*.dockerfile")) return { "dockerfile": dockerfiles, - "runsOn": ["ubuntu-latest", "ARM64"], - "exclude": [{"dockerfile": "oracledb.dockerfile", "runsOn": "ARM64"}], + "runs-on": ["ubuntu-latest", "ARM64"], + "exclude": [{"dockerfile": "oracledb.dockerfile", "runs-on": "ARM64"}], } diff --git a/docs/using/running.md b/docs/using/running.md index 7c0d7cd9..a9c354c0 100644 --- a/docs/using/running.md +++ b/docs/using/running.md @@ -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. 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 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 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. diff --git a/docs/using/selecting.md b/docs/using/selecting.md index 82305b9e..861f106e 100644 --- a/docs/using/selecting.md +++ b/docs/using/selecting.md @@ -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 -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 [jupyter/docker-stacks GitHub repository](https://github.com/jupyter/docker-stacks/). diff --git a/docs/using/troubleshooting.md b/docs/using/troubleshooting.md index 74e8e088..70483c39 100644 --- a/docs/using/troubleshooting.md +++ b/docs/using/troubleshooting.md @@ -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. 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 # 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: -- `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.` - 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 ``` -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 @@ -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: , - 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: . diff --git a/tagging/README.md b/tagging/README.md index 34c34af6..129f3d15 100644 --- a/tagging/README.md +++ b/tagging/README.md @@ -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). 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`. This tag (and all the other tags) are pushed to Quay.io.