Skip to content

Commit 44026e7

Browse files
l0rdchrmarti
authored andcommitted
Update Podman documentation
With the release of Dev Containers v0.399 there is no need to update a devcontainers.json to make it work with Podman (c.f. microsoft/vscode-remote-release#10706). And commands like “Dev Containers: Try a Dev Container Sample” and “Dev Containers: Clone Repository in Container Volume…” that used to fail with Podman are now fixed (c.f. microsoft/vscode-remote-release#10706) Also some informations in the documentation were outdated: - Podman isn't Linux-only but currently supports Windows and macOS too - Podman allows Docker-from-Docker now (in both rootless in rootful mode) - Podman supports both Docker-Compose and Podman-Compose (with a priority for Docker-Compose) Signed-off-by: Mario Loriedo <[email protected]>
1 parent 38fee24 commit 44026e7

File tree

1 file changed

+8
-23
lines changed

1 file changed

+8
-23
lines changed

remote/advancedcontainers/docker-options.md

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ Colima automatically sets up a `colima` [Docker context](https://docs.docker.com
3737

3838
> Note: Colima uses Alpine Linux, which isn't supported by Remote - SSH.
3939
40+
## Podman
41+
42+
[Podman](https://podman.io/) 5+ is mostly compatible with Docker's CLI commands and therefore does work if you update the **Docker Path** setting (via **Dev > Containers: Docker Path** in the Settings editor) to `podman` on Linux, Windows or macOS.
43+
44+
![Docker Path setting](images/platform-options/docker-path-setting.png)
45+
46+
Podman has a [`podman compose` command](https://docs.podman.io/en/latest/markdown/podman-compose.1.html) too but that requires a compose provider that can be either Docker Compose or [Podman Compose](https://github.com/containers/podman-compose).
47+
4048
## Linux
4149

4250
If you're using Linux on your local machine, or already have a remote Linux machine with SSH access, you can reference the [Docker documentation](https://docs.docker.com/engine/install/) for installing Docker on Linux, with [specific information per distribution](https://docs.docker.com/engine/install/centos/).
@@ -87,29 +95,6 @@ az vm create \
8795

8896
You can learn more about using Remote - SSH with Dev Containers in the [develop on a remote Docker host](https://code.visualstudio.com/remote/advancedcontainers/develop-remote-host#_connect-using-docker-contexts) documentation.
8997

90-
### Podman
91-
92-
[Podman](https://podman.io/) 1.9+ is mostly compatible with Docker's CLI commands and therefore does work if you update the **Docker Path** setting (via **Dev > Containers: Docker Path** in the Settings editor) to `podman` on Linux.
93-
94-
![Docker Path setting](images/platform-options/docker-path-setting.png)
95-
96-
However, certain tricks like [Docker-from-Docker do not work](https://github.com/containers/libpod/issues/4056#issuecomment-535511841) due to limitations in Podman. This affects the **Dev Containers: Try a Dev Container Sample...** and [Dev Containers: Clone Repository in Container Volume...](/docs/devcontainers/containers.md#quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume) commands.
97-
98-
To work around issues with rootless Podman (for example, not respecting a non-root `"remoteUser"` and trying to install the server in `root`), you can set the following:
99-
100-
```json
101-
"runArgs": [
102-
"--userns=keep-id"
103-
],
104-
"containerEnv": {
105-
"HOME": "/home/node"
106-
}
107-
```
108-
109-
`"remoteUser"` can be used when `"HOME"` is set because Dev Containers gives that setting precedence over the home folder it finds in `/etc/passwd`.
110-
111-
Podman also has its own implementation of the Compose Spec with [Podman Compose](https://github.com/containers/podman-compose).
112-
11398
## Other container engines
11499

115100
You can open or review requests for support for other container engines through the [vscode-remote-release repository](https://github.com/microsoft/vscode-remote-release). There are already several feature requests you can explore:

0 commit comments

Comments
 (0)