podman: podman run fails on tinycore
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
podman run fails on tinycore 11.1 VM because of some issue related to slirp4netns. I built podman and related deps manually. Are there any plans to release podman distros for tinycore? That would be very helpful.
Steps to reproduce the issue:
-
Install podman on tinycore using manual install
-
Run
podman run hello-world
Describe the results you received:
tc@box:~/tczs$ podman run hello-world
✔ docker.io/library/hello-world:latest
Trying to pull docker.io/library/hello-world:latest...
Getting image source signatures
Copying blob 0e03bdcc26d7 done
Copying config bf756fb1ae done
Writing manifest to image destination
Storing signatures
Error: /home/tc/.nix-profile/bin/slirp4netns failed: "sent tapfd=7 for tap0\nWARNING: Support for seccomp is experimental\nreceived tapfd=7\ncannot pivot_root to /tmp\ncreate_sandbox failed\ndo_slirp is exiting\ndo_slirp failed\nparent failed\nWARNING: Support for seccomp is experimental\nStarting slirp\n* MTU: 65520\n* Network: 10.0.2.0\n* Netmask: 255.255.255.0\n* Gateway: 10.0.2.2\n* DNS: 10.0.2.3\n* Recommended IP: 10.0.2.100\n"
Describe the results you expected: Expected it to work
Additional information you deem important (e.g. issue happens only occasionally): Tried this workaround, but it produces a different error
tc@box:~/tczs$ podman run --network=host --cgroups disabled hello-world
Error: OCI runtime error: invalid file system type on '/sys/fs/cgroup'
Output of podman version:
Version: 3.0.0-dev
API Version: 3.0.0
Go Version: go1.15.6
Git Commit: 9c9f02aad773051fa742a874844f08f2fb567d3b-dirty
Built: Tue Jan 1 00:00:00 1980
OS/Arch: linux/amd64
Output of podman info --debug:
host:
arch: amd64
buildahVersion: 1.19.0-dev
cgroupManager: cgroupfs
cgroupVersion: v1
conmon:
package: Unknown
path: /usr/local/bin/conmon
version: 'conmon version 2.0.23-dev, commit: 05b804604d6da1b3faaee7defb65d3b9b3771888-dirty'
cpus: 1
distribution:
distribution: tinycore
version: "11.1"
eventLogger: file
hostname: box
idMappings:
gidmap:
- container_id: 0
host_id: 50
size: 1
- container_id: 1
host_id: 10000
size: 65536
uidmap:
- container_id: 0
host_id: 1001
size: 1
- container_id: 1
host_id: 10000
size: 65536
kernel: 5.4.3-tinycore64
linkmode: static
memFree: 187273216
memTotal: 3123281920
ociRuntime:
name: crun
package: Unknown
path: /usr/local/bin/crun
version: |-
crun version 0.16
commit: eb0145e5ad4d8207e84a327248af76663d4e50dd
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
os: linux
remoteSocket:
path: /run/user/1001/podman/podman.sock
security:
apparmorEnabled: false
capabilities: CAP_AUDIT_WRITE,CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_MKNOD,CAP_NET_BIND_SERVICE,CAP_NET_RAW,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
rootless: true
seccompEnabled: true
selinuxEnabled: false
slirp4netns:
executable: /home/tc/.nix-profile/bin/slirp4netns
package: Unknown
version: |-
slirp4netns version 1.1.8
commit: d361001f495417b880f20329121e3aa431a8f90f
libslirp: 4.4.0
SLIRP_CONFIG_VERSION_MAX: 3
libseccomp: 2.5.1
swapFree: 759169024
swapTotal: 769392640
uptime: 4h 33m 43.52s (Approximately 0.17 days)
registries:
search:
- docker.io
- registry.fedoraproject.org
- registry.access.redhat.com
store:
configFile: /home/tc/.config/containers/storage.conf
containerStore:
number: 12
paused: 0
running: 0
stopped: 12
graphDriverName: vfs
graphOptions: {}
graphRoot: /home/tc/.local/share/containers/storage
graphStatus: {}
imageStore:
number: 2
runRoot: /run/user/1001/containers
volumePath: /home/tc/.local/share/containers/storage/volumes
version:
APIVersion: 3.0.0
Built: 315532800
BuiltTime: Tue Jan 1 00:00:00 1980
GitCommit: 9c9f02aad773051fa742a874844f08f2fb567d3b-dirty
GoVersion: go1.15.6
OsArch: linux/amd64
Version: 3.0.0-dev
Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide?
Yes
Additional environment details (AWS, VirtualBox, physical, etc.): Tinycore runs on virtual box.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 18 (11 by maintainers)
The best would be to make it configurable, based on whether using a rootfs or not. (i.e. no_pivot)
Converting to a tmpfs, or compiling out or disabling the sandbox feature sounds like workarounds ?
It is podman that decides to “call” runc or buildah or slirp4netns, and needs to use the proper flags.