
satyendra@bazzite:~/Downloads/uget_download$ brew install docker-engine
✔︎ JSON API formula.jws.json Downloaded 32.0MB/ 32.0MB
✔︎ JSON API cask.jws.json Downloaded 15.4MB/ 15.4MB
==> Fetching downloads for: docker-engine
✔︎ Bottle Manifest docker-engine (29.3.1) Downloaded 7.0KB/ 7.0KB
✔︎ Bottle Manifest containerd (2.2.2) Downloaded 8.1KB/ 8.1KB
✔︎ Bottle Manifest gmp (6.3.0) Downloaded 13.3KB/ 13.3KB
✔︎ Bottle Manifest jansson (2.15.0) Downloaded 7.3KB/ 7.3KB
✔︎ Bottle Manifest libmnl (1.0.5) Downloaded 3.2KB/ 3.2KB
✔︎ Bottle Manifest libnftnl (1.3.1) Downloaded 3.6KB/ 3.6KB
✔︎ Bottle Manifest nftables (1.1.6) Downloaded 5.3KB/ 5.3KB
✔︎ Bottle jansson (2.15.0) Downloaded 142.0KB/142.0KB
✔︎ Bottle libmnl (1.0.5) Downloaded 23.7KB/ 23.7KB
✔︎ Bottle Manifest libseccomp (2.6.0) Downloaded 3.3KB/ 3.3KB
✔︎ Bottle gmp (6.3.0) Downloaded 1.2MB/ 1.2MB
✔︎ Bottle Manifest runc (1.4.1) Downloaded 3.5KB/ 3.5KB
✔︎ Bottle libnftnl (1.3.1) Downloaded 136.0KB/136.0KB
✔︎ Bottle nftables (1.1.6) Downloaded 460.5KB/460.5KB
✔︎ Bottle libseccomp (2.6.0) Downloaded 184.1KB/184.1KB
✔︎ Bottle runc (1.4.1) Downloaded 7.7MB/ 7.7MB
✔︎ Bottle containerd (2.2.2) Downloaded 35.7MB/ 35.7MB
✔︎ Bottle docker-engine (29.3.1) Downloaded 29.7MB/ 29.7MB
==> Installing dependencies for docker-engine: containerd, gmp, jansson, libmnl, libnftnl, nftables, libseccomp and runc
==> Installing docker-engine dependency: containerd
==> Pouring containerd–2.2.2.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/containerd/2.2.2: 78 files, 98.7MB
==> Installing docker-engine dependency: gmp
==> Pouring gmp–6.3.0.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/gmp/6.3.0: 24 files, 4MB
==> Installing docker-engine dependency: jansson
==> Pouring jansson–2.15.0.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/jansson/2.15.0: 13 files, 344.9KB
==> Installing docker-engine dependency: libmnl
==> Pouring libmnl–1.0.5.x86_64_linux.bottle.1.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/libmnl/1.0.5: 10 files, 76.6KB
==> Installing docker-engine dependency: libnftnl
==> Pouring libnftnl–1.3.1.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/libnftnl/1.3.1: 62 files, 586.8KB
==> Installing docker-engine dependency: nftables
==> Pouring nftables–1.1.6.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/nftables/1.1.6: 38 files, 1.4MB
==> Installing docker-engine dependency: libseccomp
==> Pouring libseccomp–2.6.0.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/libseccomp/2.6.0: 49 files, 781.4KB
==> Installing docker-engine dependency: runc
==> Pouring runc–1.4.1.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/runc/1.4.1: 26 files, 16MB
==> Installing docker-engine
==> Pouring docker-engine–29.3.1.x86_64_linux.bottle.tar.gz
==> Caveats
To run dockerd as the current user, execute the following commands:
brew install rootlesskit slirp4netns
dockerd-rootless-setuptool.sh install
NOTE: As the lifecycle of containerd is managed by dockerd,
do NOT run `containerd-rootless-setuptool.sh install`
before `dockerd-rootless-setuptool.sh install`.
To run dockerd as the root user, use `brew services` with `sudo –preserve-env=HOME`.
To start docker-engine now and restart at startup:
sudo brew services start docker-engine
Or, if you don’t want/need a background service you can just run:
/home/linuxbrew/.linuxbrew/opt/docker-engine/bin/dockerd
satyendra@bazzite:~/Downloads/uget_download$ brew install rootlesskit slirp4netns
dockerd-rootless-setuptool.sh install
==> Fetching downloads for: rootlesskit and slirp4netns
✔︎ Bottle Manifest rootlesskit (2.3.6) Downloaded 3.3KB/ 3.3KB
✔︎ Bottle Manifest slirp4netns (1.3.3) Downloaded 9.8KB/ 9.8KB
✔︎ Bottle Manifest libcap (2.77) Downloaded 3.5KB/ 3.5KB
✔︎ Bottle Manifest libslirp (4.9.1) Downloaded 18.4KB/ 18.4KB
✔︎ Bottle libcap (2.77) Downloaded 123.0KB/123.0KB
✔︎ Bottle slirp4netns (1.3.3) Downloaded 52.0KB/ 52.0KB
✔︎ Bottle libslirp (4.9.1) Downloaded 176.2KB/176.2KB
✔︎ Bottle rootlesskit (2.3.6) Downloaded 7.6MB/ 7.6MB
==> Pouring rootlesskit–2.3.6.x86_64_linux.bottle.tar.gz
==> Caveats
Depending on the kernel configuration, you may need to add the following line to
/etc/sysctl.d/99-rootless.conf, and run `sysctl -a`:
kernel.apparmor_restrict_unprivileged_userns = 0
==> Summary
🍺 /home/linuxbrew/.linuxbrew/Cellar/rootlesskit/2.3.6: 14 files, 18.7MB
==> Running `brew cleanup rootlesskit`…
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Installing dependencies for slirp4netns: libcap and libslirp
==> Installing slirp4netns dependency: libcap
==> Pouring libcap–2.77.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/libcap/2.77: 103 files, 439.7KB
==> Installing slirp4netns dependency: libslirp
==> Pouring libslirp–4.9.1.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/libslirp/4.9.1: 13 files, 519.0KB
==> Installing slirp4netns
==> Pouring slirp4netns–1.3.3.x86_64_linux.bottle.tar.gz
🍺 /home/linuxbrew/.linuxbrew/Cellar/slirp4netns/1.3.3: 7 files, 181.6KB
==> Running `brew cleanup slirp4netns`…
==> Caveats
==> rootlesskit
Depending on the kernel configuration, you may need to add the following line to
/etc/sysctl.d/99-rootless.conf, and run `sysctl -a`:
kernel.apparmor_restrict_unprivileged_userns = 0
[INFO] Creating /home/satyendra/.config/systemd/user/docker.service
[INFO] starting systemd service docker.service
+ systemctl –user start docker.service
+ sleep 3
+ systemctl –user –no-pager –full status docker.service
● docker.service – Docker Application Container Engine (Rootless)
Loaded: loaded (/home/satyendra/.config/systemd/user/docker.service; disabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Sun 2026-03-29 19:29:19 IST; 3s ago
Invocation: 600491b47adc4772988ceffdbdd0a38b
Docs: https://docs.docker.com/go/rootless/
Main PID: 30336 (rootlesskit)
Tasks: 41
Memory: 39.1M (peak: 40.7M)
CPU: 886ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/docker.service
├─30336 rootlesskit –state-dir=/run/user/1000/dockerd-rootless –net=slirp4netns –mtu=65520 –slirp4netns-sandbox=auto –slirp4netns-seccomp=auto –disable-host-loopback –port-driver=builtin –copy-up=/etc –copy-up=/run –propagation=rslave /home/linuxbrew/.linuxbrew/bin/dockerd-rootless.sh
├─30349 /proc/self/exe –state-dir=/run/user/1000/dockerd-rootless –net=slirp4netns –mtu=65520 –slirp4netns-sandbox=auto –slirp4netns-seccomp=auto –disable-host-loopback –port-driver=builtin –copy-up=/etc –copy-up=/run –propagation=rslave /home/linuxbrew/.linuxbrew/bin/dockerd-rootless.sh
├─30370 slirp4netns –mtu 65520 -r 3 –disable-host-loopback –enable-sandbox –enable-seccomp 30349 tap0
├─30378 dockerd
└─30403 containerd –config /run/user/1000/docker/containerd/containerd.toml
Mar 29 19:29:18 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:18.868412403+05:30″ level=info msg=”skipping firewalld management for rootless mode”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.377442358+05:30″ level=info msg=”Loading containers: done.”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.393882521+05:30″ level=warning msg=”Failed to find docker-init” error=”exec: \”docker-init\”: executable file not found in $PATH”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.394089407+05:30″ level=warning msg=”WARNING: No cpuset support”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.394137134+05:30″ level=info msg=”Docker daemon” commit=f78c987ad3 containerd-snapshotter=true storage-driver=overlayfs version=29.3.1
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.394349354+05:30″ level=info msg=”Initializing buildkit”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.466413420+05:30″ level=info msg=”Completed buildkit initialization”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.473000821+05:30″ level=info msg=”Daemon has completed initialization”
Mar 29 19:29:19 bazzite dockerd-rootless.sh[30378]: time=”2026-03-29T19:29:19.473103825+05:30″ level=info msg=”API listen on /run/user/1000/docker.sock”
Mar 29 19:29:19 bazzite systemd[2791]: Started docker.service – Docker Application Container Engine (Rootless).
+ DOCKER_HOST=unix:///run/user/1000/docker.sock
+ /home/linuxbrew/.linuxbrew/bin/docker version
Client: Docker Engine – Community
Version: 29.3.1
API version: 1.54
Go version: go1.26.1
Git commit: c2be9ccfc3
Built: Wed Mar 25 14:22:32 2026
OS/Arch: linux/amd64
Context: default
Server: Docker Engine – Community
Engine:
Version: 29.3.1
API version: 1.54 (minimum version 1.40)
Go version: go1.26.1
Git commit: f78c987ad3
Built: Wed Mar 25 15:47:11 2026
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 2.2.2
GitCommit:
runc:
Version: 1.4.1
GitCommit:
rootlesskit:
Version: 2.3.6
ApiVersion: 1.1.1
NetworkDriver: slirp4netns
PortDriver: builtin
StateDir: /run/user/1000/dockerd-rootless
slirp4netns:
Version: 1.3.3
GitCommit: 944fa94090e1fd1312232cbc0e6b43585553d824
+ systemctl –user enable docker.service
Created symlink ‘/home/satyendra/.config/systemd/user/default.target.wants/docker.service’ → ‘/home/satyendra/.config/systemd/user/docker.service’.
[INFO] Installed docker.service successfully.
[INFO] To control docker.service, run: `systemctl –user (start|stop|restart) docker.service`
[INFO] To run docker.service on system startup, run: `sudo loginctl enable-linger satyendra`
[INFO] Creating CLI context “rootless”
Successfully created context “rootless”
[INFO] Using CLI context “rootless”
Current context is now “rootless”
[INFO] Make sure the following environment variable(s) are set (or add them to ~/.bashrc):
export PATH=/home/linuxbrew/.linuxbrew/bin:$PATH
[INFO] Some applications may require the following environment variable too:
export DOCKER_HOST=unix:///run/user/1000/docker.sock
satyendra@bazzite:~/Downloads/uget_download$ docker run hello-world
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
4f55086f7dd0: Pull complete
d5e71e642bf5: Download complete
Digest: sha256:452a468a4bf985040037cb6d5392410206e47db9bf5b7278d281f94d1c2d0931
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: invalid rootfs: not an absolute path, or a symlink
Run ‘docker run –help’ for more information
satyendra@bazzite:~/Downloads/uget_download$
satyendra@bazzite:~/Downloads/uget_download$ brew services start docker-engine
Warning: docker-engine must be run as root to start at system startup!
Created symlink ‘/home/satyendra/.config/systemd/user/default.target.wants/homebrew.docker-engine.service’ → ‘/home/satyendra/.config/systemd/user/homebrew.docker-engine.service’.
==> Successfully started `docker-engine` (label: homebrew.docker-engine)