



















@stasadev, normally, reinstalling slirp4netns doesn't change anything. You probably didn't have it installed at all (which would be the case if it was a fresh install of this package), or the installed version was ancient, corrupted or your setup somehow overrode the default configuration.
I can reproduce the problem with pasta:
[rootlesskit:parent] error: failed to setup network &{logWriter:0x2165643aae50 binary:pasta mtu:65520 ipnet:0x2165642fca20 disableHostLoopback:true enableIPv6:false ifname:tap0 infoMu:{w:{_:{} mu:{state:0 sema:0}} writerSem:0 readerSem:0 readerCount:{_:{} v:0} readerWait:{_:{} v:0}} implicitPortForwarding:true info:<nil> feat:0x2165643aef1f}: pasta failed with exit code 1:
--stderr will be dropped soon
Dual stack forward, but IPv6 not enabled
Unable to add rule TCP [*]:1-32767 => 1-32767 (best effort) (auto-scan)
[rootlesskit:child ] error: EOF
However, this seems to be a bug in passt/RootlessKit/Docker, not in this package.
The reason why I moved slirp4netns to optional dependencies is that Docker now supports gvisor-tap-vsock driver, which is embedded in RootlessKit v3, and Docker falls back to it when no other suitable driver is available. So technically, this package no longer requires any external driver and this package works exactly as the upstream intends. I understand that this UX isn't ideal in your situation, but since PKGBUILD doesn't have anything akin to Debian's Recommends, I don't have much choice if I don't wanna force a potentially useless dependency upon all users.
slirp4netns got moved to an optional dependency in 29.5.0-1. If you don't explicitly set DOCKERD_ROOTLESS_ROOTLESSKIT_NET, the script uses the first available backend.
I already had passt installed, so it picked pasta, which failed for me with:
Cannot connect to the Docker daemon at unix:///run/user/1000/docker.sock. Is the docker daemon running?
I had to reinstall slirp4netns and force it as default to avoid issues if the upstream script or packaging changes:
cat > ~/.config/systemd/user/docker.service.d/override.conf << 'EOF'
[Service]
Environment="DOCKERD_ROOTLESS_ROOTLESSKIT_NET=slirp4netns"
EOF
I'm aware of version 29.5.0, but it currently doesn't work for me with Docker 29.4.3. I'll wait for Arch to release Docker 29.5.0 and then try again.
I get the following error trying to install.
==> ERROR: install file (docker-rootless-extras.install) does not exist or is not a regular file.
Instead of telling to use DOCKER_HOST to give the client the location of the socket, wouldn't it be better to suggest using docker contexts? They are less invasive, and especially work better in contexts where ~/.bashrc or equivalent files aren't sourced (example, docker commands started by the vscode extension).
@Rodancoci, could you please provide more information? Why is it necessary?
Missing debugedit as a make dependency.
Hey, I had to modify the $MAINPID patch to silence some warnings in the systemd user daemon:
commit b401915a78b80e8be093f536dda3f4aeb41ffaf6 (HEAD -> master)
Author: Sebastián Claudio Nale <sebinale@gmail.com>
Date: Tue Mar 7 19:43:18 2023 -0300
Fix `$MAINPID` patch.
diff --git a/PKGBUILD b/PKGBUILD
index 9d52d62..ce332e5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -39,7 +39,7 @@ package() {
head -n-1 | \
sed 's/^[[:space:]]*//' | \
sed 's|$BIN|/usr/bin|' | \
- sed 's|\$MAINPID|$MAINPID|' | \
+ sed 's|\\$MAINPID|$MAINPID|' | \
sed 's| $DOCKERD_ROOTLESS_SH_FLAGS||' \
> "$pkgdir/usr/lib/systemd/user/docker.service"
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
@the-k, thank you for the extra details. I missed
gvisor-tap-vsockin the upstream release notes, but I've switched to it now and it works fine for me.The reason
slirp4netnswas removed is that I use aconfmgr-git (a configuration manager for Arch, similar to the NixOS approach), and since it wasn't listed as an explicit dependency, it got removed duringaconfmgr apply.