Skip to content

Commit 920e6f0

Browse files
stasadevrfay
andauthored
Apply suggestions from @rfay, thanks!
Co-authored-by: Randy Fay <randy@randyfay.com>
1 parent ac6fe7e commit 920e6f0

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/content/blog/podman-and-docker-rootless.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ categories:
1414

1515
The DDEV community has requested Podman and Docker Rootless support for years. This support is now available in [DDEV HEAD](https://docs.ddev.com/en/stable/developers/building-contributing/#testing-latest-commits-on-head) as an experimental feature, general availability is planned for upcoming DDEV v1.25.0.
1616

17-
It allows DDEV to work in corporate environments where Docker Desktop is not allowed due to security policies or licensing restrictions.
17+
It allows DDEV to work in corporate environments where Podman or Rootless Docker are preferred due to security policies or licensing restrictions.
1818

1919
This required major changes to how DDEV works with container runtimes. We rebuilt core infrastructure and fixed compatibility issues that existed since DDEV's start.
2020

@@ -78,9 +78,9 @@ All of these work with DDEV. The main reason to choose Podman specifically is if
7878

7979
### Why Choose Rootless?
8080

81-
Running containers without root privileges is more secure. Traditional Docker and rootful Podman need elevated privileges, which creates security risks in corporate environments where strict security policies apply.
81+
Although DDEV's use of all Docker providers is quite secure, and we run containers as normal users with limited privileges, the rootless approaches to Docker and Podman actually run the *Docker daemon* without root privileges, closing additional attack surface. Traditional Docker and rootful Podman daemons need elevated privileges, which creates security risks in corporate environments where strict security policies apply. (Note that DDEV is targeted at local development, where there are few risks of specialized attacks using this vector anyway.)
8282

83-
Rootless alternatives (Podman Rootless and Docker Rootless) run containers without root access. This means:
83+
Rootless alternatives (Podman Rootless and Docker Rootless) run the daemon without root access, fundamentally and completely cutting off root privileges for containers. This means:
8484

8585
- No root daemon on the system, only a rootless daemon in userspace
8686
- Container processes cannot access root-owned files
@@ -96,15 +96,15 @@ There is a [Docker Engine API](https://docs.docker.com/reference/api/engine/), w
9696

9797
Podman can work without a socket, but to have access to the Docker API, it's necessary to enable it. The socket lets DDEV use the Docker API to talk to Podman, so DDEV can support both Docker and Podman with the same code.
9898

99-
## Linux and WSL2
99+
## Key aim: Linux and WSL2 users
100100

101101
The primary focus for this article is Linux and WSL2 (we have test coverage for Linux only for now). Most features and configurations are well-tested on these platforms.
102102

103103
### Installing Podman
104104

105105
Install Podman using your distribution's package manager. See the [official Podman installation guide for Linux](https://podman.io/docs/installation#installing-on-linux).
106106

107-
**Note:** Some distributions may have outdated Podman versions. This is the case with Ubuntu 24.04, which has Podman 4.9.3. We recommend using Podman 5.0 or newer for the best experience, because we didn't have success with Podman 4.x in our automated tests, but you can still use Podman 4.x ignoring the warning on `ddev start`.
107+
**Note:** Some distributions may have outdated Podman versions. This is the case with Ubuntu 24.04, which has Podman 4.9.3. We require Podman 5.0 or newer for the best experience, because we didn't have success with Podman 4.x in our automated tests, but you can still use Podman 4.x ignoring the warning on `ddev start`.
108108

109109
You can also install [Podman Desktop](https://podman-desktop.io/docs/installation/linux-install) if you prefer a GUI.
110110

@@ -298,7 +298,7 @@ Rootful Podman requires configuring user group permissions.
298298
299299
### Podman Rootless Performance Optimization
300300
301-
Podman Rootless is slower than Docker. See these resources:
301+
Podman Rootless is significantly slower than Docker. See these resources:
302302
303303
- [Podman run/build performance issues](https://github.com/containers/podman/issues/13226)
304304
- [Podman Performance documentation](https://github.com/containers/podman/blob/main/docs/tutorials/performance.md)
@@ -560,11 +560,12 @@ DDEV automatically detects your active container runtime. To switch:
560560
561561
### Recommendations
562562
563-
**Use [standard Docker](https://docs.ddev.com/en/stable/users/install/docker-installation/) if:**
563+
**Use of the many [standard Docker providers](https://docs.ddev.com/en/stable/users/install/docker-installation/) if:**
564564
565565
- You're comfortable with the most widely used container runtime
566566
- You don't have rootless security requirements
567-
- This is the recommended option for most users
567+
568+
_This is the recommended option for the vast majority of users._
568569
569570
**Use Podman Rootless if:**
570571

0 commit comments

Comments
 (0)