Skip to content

Commit 8b08566

Browse files
brettcannonencukouhugovk
authored
Add instructions on how to use the dev container image from GHCR (#1581)
Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
1 parent 4705126 commit 8b08566

File tree

1 file changed

+44
-13
lines changed

1 file changed

+44
-13
lines changed

getting-started/setup-building.rst

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,19 +1188,52 @@ select the option ``Open in VS Code``. You will still be working on the remote
11881188
codespace instance, thus using the remote instance's compute power. The compute
11891189
power may be a much higher spec than your local machine which can be helpful.
11901190

1191+
.. _devcontainer-directly:
11911192

1192-
Building the container locally
1193-
------------------------------
1193+
Using the dev container directly
1194+
================================
11941195

11951196
If you want more control over the environment, or to work offline,
1196-
you can build the container locally.
1197+
you can use the same container used in
1198+
:ref:`GitHub Codespaces <using-codespaces>` directly.
11971199
This is meant for users who have (or want to get) some experience
11981200
with containers.
1199-
The following instructions are a starting point for
1200-
your own customizations.
1201-
They assume a Unix-like environment, and Docker or Podman installed.
1201+
These instructions assume a Unix-like environment with
1202+
`Docker <https://www.docker.com/>`__ or `Podman <https://podman.io/>`__
1203+
installed.
12021204

1203-
In a clone of the `cpython-devcontainers repo <https://github.com/python/cpython-devcontainers>`_,
1205+
.. _devcontainer-image:
1206+
1207+
Using the pre-built container image
1208+
-----------------------------------
1209+
1210+
`Dev container images <https://github.com/python/cpython-devcontainers/pkgs/container/devcontainer>`__
1211+
are available from the
1212+
`GitHub Container Registry (GHCR) account for the Python org <https://github.com/orgs/python/packages>`__.
1213+
1214+
To run the container and launch a Bash shell, run one of the following commands
1215+
in a clone of the CPython repository.
1216+
1217+
.. code-block:: bash
1218+
1219+
docker run -it --rm --volume $PWD:/workspace --workdir /workspace ghcr.io/python/devcontainer:latest
1220+
1221+
.. code-block:: bash
1222+
1223+
podman run -it --rm --volume $PWD:/workspace:Z --workdir /workspace ghcr.io/python/devcontainer:latest
1224+
1225+
Note that the container has read/write access to the working directory.
1226+
You may want to use a separate clone of CPython, or run ``make clean``
1227+
to remove caches and build output generated for your host OS.
1228+
1229+
.. _building-the-container-locally
1230+
.. _devcontainer-build:
1231+
1232+
Building yourself
1233+
-----------------
1234+
1235+
If you prefer, you can build the container image yourself. In a clone of the
1236+
`cpython-devcontainers repo <https://github.com/python/cpython-devcontainers>`_,
12041237
build the container and name it ``cpython-dev``:
12051238

12061239
.. code-block:: bash
@@ -1213,8 +1246,8 @@ The same command will update any existing ``cpython-dev`` container.
12131246
Run it again from time to time -- especially if the container stops
12141247
working for you.
12151248

1216-
To run the container, run one of the following commands in a clone of the
1217-
CPython repository.
1249+
To run the container and launch a Bash shell, run one of the following commands
1250+
in a clone of the CPython repository.
12181251

12191252
.. code-block:: bash
12201253
@@ -1224,12 +1257,10 @@ CPython repository.
12241257
12251258
podman run -it --rm --volume $PWD:/workspace:Z --workdir /workspace cpython-dev
12261259
1227-
Note that the container has read/write access to the working directory.
1228-
You may want to use a separate clone of CPython, or run ``make clean``
1229-
to remove caches and build output generated for your host OS.
1260+
The same caveats outlined above when running from a container image from GHCR
1261+
also apply here.
12301262

12311263
.. c_codespaces_end
12321264
12331265
1234-
12351266
.. include:: ../links.rst

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

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

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


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy