A support framework for using .devcontainer
on Linux desktops. Let's start
with Buildah + Podman + Builder, but the project is open to contributions for
other IDE integrations.
This example assumes a working Podman installation, which exists out of the box on Fedora Silverblue but is also available on many distributions and platforms.
-
Install this utility:
pip install devpod
-
Clone Microsoft's PHP sample repository and make it the working directory:
git clone https://github.com/microsoft/vscode-remote-try-php.git cd vscode-remote-try-php/
-
In
.devcontainer/devcontainer.json
, uncomment thepostCreateCommand
directive and ensure there's a comma at the end of the line if not yet fixed. -
Build the container and launch:
devpod run --launch
-
Edit
index.php
in your IDE and reload the page in your Browser to see changes.
These instructions should work out of the box on Fedora Silverblue 33+.
-
Install this utility (choosing an alternative to
pip
likepipx
if you like):pip install devpod
-
In the CLI, change to the parent directory of
.devcontainer
for your project. -
Run the utility (which will delete any container with the same name as your project directory):
devpod run --launch # Will open a browser to forwarded ports.
-
The
launch
command should list any open ports at the end of the process, but you can also list them using Podman directly:podman port --latest
These instructions have been tested on Fedora Silverblue 33 but are probably adaptable to other setups.
-
Install Python package tooling (using a Toolbox if desired):
sudo dnf install poetry pipx
-
Clone the DevPod code and make it your working directory.
-
Build and (re)install the utility for global use:
rm -rf dist/ && poetry build && pipx install --force dist/devpod-*.tar.gz
-
The
devpod
command should now be globally available to your user, even outside of any Toolbox.