weixin_39967096
weixin_39967096
2020-12-09 11:08

rootless podman build failed to commit on fuse-overlay but success on vfs

Description

podman build -t test . failed to commit container for result of RUN echo Hello, world! when running as non-root user and unprivileged.

The . directory contains Dockerfile:


FROM debian:buster

RUN echo Hello, world!

Steps to reproduce the issue:

I installed podman in the following steps:

  1. Install packages slirp4netns and fuse-overlayfs for rootless podman.
  2. Add podman.conf to to /etc/sysctl.d/

 options overlay permit_mounts_in_userns=1
 net.ipv4.ping_group_range = 0 $MAX_UID
 
  1. sudo modprobe overlay 'permit_mounts_in_userns=1'
  2. Compile newest version of crun and install. compile.sh
  3. Install stable version of podman from mirror for ubuntu
  4. sudo mkdir -p /etc/containers && mkdir -p ~/.config/containers
  5. echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | sudo tee /etc/containers/registries.conf
  6. cp libpod.conf (the file can be found in the sections below) to /etc/containers/libpod.conf and ~/.config/containers
  7. podman build -t test . with non-root user and unprivileged.

Describe the results you received:


Error: error committing container for step {Env:[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin] Command:run Args:[echo Hello, world!] Flags:[] Attrs:map[] Message:RUN echo Hello, world! Original:RUN echo Hello, world!}: error copying layers and metadata for container "3ca001e79f4796d3eedc12b2e439e168b8dbc285a55e8b2805b818effeb38eb6": Error initializing source containers-storage:debian-working-container: error extracting layer "68febc6a394525f1673a1699be26f10537fcfc92f521c550e8b46299caa03c99": no such file or directory

Describe the results you expected:

It should print Hello, world! and then exits with 0.

Output of rpm -q buildah or apt list buildah:


$ apt list buildah
Listing... Done
buildah/unknown 1.13.2~1 amd64
buildah/unknown 1.13.2~1 arm64
buildah/unknown 1.12.0-6 armhf

Output of apt list podman:


Listing... Done
podman/unknown,now 1.8.0~2 amd64 [installed]
podman/unknown 1.8.0~2 arm64
podman/unknown 1.8.0~2 armhf

Output of buildah version:


buildah: command not found

Output of podman version if reporting a podman build issue:


Version:            1.8.0
RemoteAPI Version:  1
Go Version:         go1.12.10
OS/Arch:            linux/amd64

Output of cat /etc/*release:


DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.10
DISTRIB_CODENAME=eoan
DISTRIB_DESCRIPTION="Pop!_OS 19.10"
NAME="Pop!_OS"
VERSION="19.10"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 19.10"
VERSION_ID="19.10"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=eoan
UBUNTU_CODENAME=eoan
LOGO=distributor-logo-pop-os

Output of uname -a:


Linux pop-os 5.3.0-7625-generic containers/buildah#27~1576774560~19.10~f432cd8-Ubuntu SMP Thu Dec 19 20:35:37 UTC  x86_64 x86_64 x86_64 GNU/Linux

Output of cat /etc/containers/storage.conf:


# storage.conf is the configuration file for all tools
# that share the containers/storage libraries
# See man 5 containers-storage.conf for more information

# The "container storage" table contains all of the server options.
[storage]

# Default Storage Driver
driver = "overlay"

# Temporary storage location
runroot = "/var/run/containers/storage"

# Primary read-write location of container storage
graphroot = "/var/lib/containers/storage"

[storage.options]
# AdditionalImageStores is used to pass paths to additional read-only image stores
# Must be comma separated list.
additionalimagestores = [
]

# Size is used to set a maximum size of the container image.  Only supported by
# certain container storage drivers (currently overlay, zfs, vfs, btrfs)
size = ""

# OverrideKernelCheck tells the driver to ignore kernel checks based on kernel version
override_kernel_check = "true"

Output of cat ~/.config/containers/storage.conf:


[storage]
  driver = "overlay"
  runroot = "/run/user/1000/containers"
  graphroot = "/home/nobodyxu/.local/share/containers/storage"
  [storage.options]
    size = ""
    remap-uids = ""
    remap-gids = ""
    ignore_chown_errors = ""
    remap-user = ""
    remap-group = ""
    skip_mount_home = ""
    mount_program = "/usr/bin/fuse-overlayfs"
    mountopt = ""
    [storage.options.aufs]
      mountopt = ""
    [storage.options.btrfs]
      min_space = ""
      size = ""
    [storage.options.thinpool]
      autoextend_percent = ""
      autoextend_threshold = ""
      basesize = ""
      blocksize = ""
      directlvm_device = ""
      directlvm_device_force = ""
      fs = ""
      log_level = ""
      min_free_space = ""
      mkfsarg = ""
      mountopt = ""
      size = ""
      use_deferred_deletion = ""
      use_deferred_removal = ""
      xfs_nospace_max_retries = ""
    [storage.options.overlay]
      ignore_chown_errors = ""
      mountopt = ""
      mount_program = ""
      size = ""
      skip_mount_home = ""
    [storage.options.vfs]
      ignore_chown_errors = ""
    [storage.options.zfs]
      mountopt = ""
      fsname = ""
      size = ""

libpod.conf:


# libpod.conf is the default configuration file for all tools using libpod to
# manage containers

# Default transport method for pulling and pushing for images
image_default_transport = "docker://"

# Paths to look for the conmon container manager binary.
# If the paths are empty or no valid path was found, then the `$PATH`
# environment variable will be used as the fallback.
conmon_path = [
        "/usr/libexec/podman/conmon",
        "/usr/local/libexec/podman/conmon",
        "/usr/local/lib/podman/conmon",
        "/usr/bin/conmon",
        "/usr/sbin/conmon",
        "/usr/local/bin/conmon",
        "/usr/local/sbin/conmon",
        "/run/current-system/sw/bin/conmon",
]

# Environment variables to pass into conmon
conmon_env_vars = [
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
]

# CGroup Manager - valid values are "systemd" and "cgroupfs"
#cgroup_manager = "systemd"

# Container init binary
#init_path = "/usr/libexec/podman/catatonit"

# Directory for persistent libpod files (database, etc)
# By default, this will be configured relative to where containers/storage
# stores containers
# Uncomment to change location from this default
#static_dir = "/var/lib/containers/storage/libpod"

# Directory for temporary files. Must be tmpfs (wiped after reboot)
#tmp_dir = "/var/run/libpod"

# Maximum size of log files (in bytes)
# -1 is unlimited
max_log_size = -1

# Whether to use chroot instead of pivot_root in the runtime
no_pivot_root = false

# Directory containing CNI plugin configuration files
cni_config_dir = "/etc/cni/net.d/"

# Directories where the CNI plugin binaries may be located
cni_plugin_dir = [
           "/usr/libexec/cni",
           "/usr/lib/cni",
           "/usr/local/lib/cni",
           "/opt/cni/bin"
]

# Default CNI network for libpod.
# If multiple CNI network configs are present, libpod will use the network with
# the name given here for containers unless explicitly overridden.
# The default here is set to the name we set in the
# 87-podman-bridge.conflist included in the repository.
# Not setting this, or setting it to the empty string, will use normal CNI
# precedence rules for selecting between multiple networks.
cni_default_network = "podman"

# Default libpod namespace
# If libpod is joined to a namespace, it will see only containers and pods
# that were created in the same namespace, and will create new containers and
# pods in that namespace.
# The default namespace is "", which corresponds to no namespace. When no
# namespace is set, all containers and pods are visible.
#namespace = ""

# Default infra (pause) image name for pod infra containers
infra_image = "k8s.gcr.io/pause:3.1"

# Default command to run the infra container
infra_command = "/pause"

# Determines whether libpod will reserve ports on the host when they are
# forwarded to containers. When enabled, when ports are forwarded to containers,
# they are held open by conmon as long as the container is running, ensuring that
# they cannot be reused by other programs on the host. However, this can cause
# significant memory usage if a container has many ports forwarded to it.
# Disabling this can save memory.
#enable_port_reservation = true

# Default libpod support for container labeling
# label=true

# The locking mechanism to use
lock_type = "shm"

# Number of locks available for containers and pods.
# If this is changed, a lock renumber must be performed (e.g. with the
# 'podman system renumber' command).
num_locks = 2048

# Directory for libpod named volumes.
# By default, this will be configured relative to where containers/storage
# stores containers.
# Uncomment to change location from this default.
#volume_path = "/var/lib/containers/storage/volumes"

# Selects which logging mechanism to use for Podman events.  Valid values
# are `journald` or `file`.
# events_logger = "journald"

# Specify the keys sequence used to detach a container.
# Format is a single character [a-Z] or a comma separated sequence of
# `ctrl-<value>`, where `<value>` is one of:
# `a-z`, `@`, `^`, `[`, `\`, `]`, `^` or `_`
#
# detach_keys = "ctrl-p,ctrl-q"

# Default OCI runtime
runtime = "crun"

# List of the OCI runtimes that support --format=json.  When json is supported
# libpod will use it for reporting nicer errors.
runtime_supports_json = ["crun", "runc"]

# List of all the OCI runtimes that support --cgroup-manager=disable to disable
# creation of CGroups for containers.
runtime_supports_nocgroups = ["crun"]

# Paths to look for a valid OCI runtime (runc, runv, etc)
# If the paths are empty or no valid path was found, then the `$PATH`
# environment variable will be used as the fallback.
[runtimes]
runc = [
        "/usr/bin/runc",
        "/usr/sbin/runc",
        "/usr/local/bin/runc",
        "/usr/local/sbin/runc",
        "/sbin/runc",
        "/bin/runc",
        "/usr/lib/cri-o-runc/sbin/runc",
        "/run/current-system/sw/bin/runc",
]

crun = [
        "/usr/bin/crun",
        "/usr/sbin/crun",
        "/usr/local/bin/crun",
        "/usr/local/sbin/crun",
        "/sbin/crun",
        "/bin/crun",
        "/run/current-system/sw/bin/crun",
]

# Kata Containers is an OCI runtime, where containers are run inside lightweight
# Virtual Machines (VMs). Kata provides additional isolation towards the host,
# minimizing the host attack surface and mitigating the consequences of
# containers breakout.
# Please notes that Kata does not support rootless podman yet, but we can leave
# the paths below blank to let them be discovered by the $PATH environment
# variable.

# Kata Containers with the default configured VMM
kata-runtime = [
    "/usr/bin/kata-runtime",
]

# Kata Containers with the QEMU VMM
kata-qemu = [
    "/usr/bin/kata-qemu",
]

# Kata Containers with the Firecracker VMM
kata-fc = [
    "/usr/bin/kata-fc",
]

# The [runtimes] table MUST be the last thing in this file.
# (Unless another table is added)
# TOML does not provide a way to end a table other than a further table being
# defined, so every key hereafter will be part of [runtimes] and not the main
# config.
</value></value>

该提问来源于开源项目:containers/fuse-overlayfs

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

9条回答

  • weixin_39967096 weixin_39967096 5月前

    I tried to remove all image and rebuild the Dockerfile using storage driver vfs, and it works:

    
    $ rm -rf ~/.local/share/containers/
    $ podman build --storage-driver vfs -t test .
    STEP 1: FROM debian:buster
    Getting image source signatures
    Copying blob dc65f448a2e2 done  
    Copying config a8797652cf done  
    Writing manifest to image destination
    Storing signatures
    STEP 2: RUN echo Hello, world!
    Hello, world!
    STEP 3: COMMIT test
    dcb6f4da81e7ea7ac1a7bf401e6e1deb2bfb7778134b8026ce81f0bceedfb06e
    dcb6f4da81e7ea7ac1a7bf401e6e1deb2bfb7778134b8026ce81f0bceedfb06e
    

    This seems somewhat similar to issue containers/buildah#2084 , except the error is different and I run as non-root and unprivileged.

    点赞 评论 复制链接分享
  • weixin_39625975 weixin_39625975 5月前

    what version of fuse-overlayfs are you using?

    点赞 评论 复制链接分享
  • weixin_39625975 weixin_39625975 5月前

    sudo modprobe overlay 'permit_mounts_in_userns=1' this is not be required for rootless podman.

    Can you make sure that you are using fuse-overlayfs and not native overlay?

    点赞 评论 复制链接分享
  • weixin_39967096 weixin_39967096 5月前
    
    $ fuse-overlayfs --version
    fuse-overlayfs: version 0.3
    FUSE library version 3.4.1
    using FUSE kernel interface version 7.27
    fusermount3 version: 3.4.1
    

    I have now removed the line enabling overlay in userns and right now my ~/.local/share/containers is empty.

    Now, run the command again:

    
    $ podman build -t test .
    STEP 1: FROM debian:buster
    Getting image source signatures
    Copying blob dc65f448a2e2 done  
    Copying config a8797652cf done  
    Writing manifest to image destination
    Storing signatures
    STEP 2: RUN echo Hello, world!
    Hello, world!
    STEP 3: COMMIT test
    Error: error committing container for step {Env:[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin] Command:run Args:[echo Hello, world!] Flags:[] Attrs:map[] Message:RUN echo Hello, world! Original:RUN echo Hello, world!}: error copying layers and metadata for container "f482d1e5cf4eeddb2c5d321113a21ee24310f6bf7744fc504aa6c7e604f7c904": Error initializing source containers-storage:debian-working-container: error extracting layer "74d69499364fefeb38eeb804a52e3dbd25f3cb41798a2b64e1526d16d55b3d4e": no such file or directory
    

    Still failed with the same error.

    点赞 评论 复制链接分享
  • weixin_39967096 weixin_39967096 5月前

    There is also another strange thing with podman:

    though I cannot build images, but I can run images pulled from docker hub

    
    $ podman run --rm -it debian:buster
    root:/# 
    root:/# echo hello, world!
    hello, world!
    root:/#    
    

    I can confirm that fuse-overlay is running at this point by launching htop and found the following process running:

    
    /usr/libexec/podman/conmon--api-version1-caacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced-uaacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced-r/usr/local/bin/crun-b/home/nobodyxu/.local/share/containers/storage/overlay-containers/aacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced/userdata-p/run/user/1000/containers/overlay-containers/aacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced/userdata/pidfile-lk8s-file:/home/nobodyxu/.local/share/containers/storage/overlay-containers/aacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced/userdata/ctr.log--exit-dir/run/user/1000/libpod/tmp/exits--socket-dir-path/run/user/1000/libpod/tmp/socket--log-levelerror--runtime-arg--log-format=json--runtime-arg--log--runtime-arg=/run/user/1000/containers/overlay-containers/aacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced/userdata/oci-log-t--conmon-pidfile/run/user/1000/containers/overlay-containers/aacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced/userdata/conmon.pid--exit-command/usr/bin/podman--exit-command-arg--root--exit-command-arg/home/nobodyxu/.local/share/containers/storage--exit-command-arg--runroot--exit-command-arg/run/user/1000/containers--exit-command-arg--log-level--exit-command-argerror--exit-command-arg--cgroup-manager--exit-command-argcgroupfs--exit-command-arg--tmpdir--exit-command-arg/run/user/1000/libpod/tmp--exit-command-arg--runtime--exit-command-argcrun--exit-command-arg--storage-driver--exit-command-argoverlay--exit-command-arg--storage-opt--exit-command-argoverlay.mount_program=/usr/bin/fuse-overlayfs--exit-command-arg--events-backend--exit-command-argjournald--exit-command-argcontainer--exit-command-argcleanup--exit-command-arg--rm--exit-command-argaacf36f88887ac9780531ea8081feef7d372deeef0ace86df6f0d6a9fa8ccced(base)
    
    
    /usr/bin/fuse-overlayfs-olowerdir=/home/nobodyxu/.local/share/containers/storage/overlay/l/GIISLTS74TBMPTRNTQAQGXWV6R,upperdir=/home/nobodyxu/.local/share/containers/storage/overlay/7a2fc958fff296e52c06cfdc8e49aa523ad0ce3de30f7760b48aff367f9400b3/diff,workdir=/home/nobodyxu/.local/share/containers/storage/overlay/7a2fc958fff296e52c06cfdc8e49aa523ad0ce3de30f7760b48aff367f9400b3/work/home/nobodyxu/.local/share/containers/storage/overlay/7a2fc958fff296e52c06cfdc8e49aa523ad0ce3de30f7760b48aff367f9400b3/merged(base)
    

    Edit:

    Seems like podman and fuse-overlay is doing fine on my computer and the problem is in buildah.

    点赞 评论 复制链接分享
  • weixin_39625975 weixin_39625975 5月前

    0.3 is a really old release (~January 2019) and there were a lot of bug fixes in fuse-overlayfs. Could you please try with the latest version?

    点赞 评论 复制链接分享
  • weixin_39625975 weixin_39625975 5月前

    
    <p></p>

    I have now removed the line enabling overlay in userns and right now my ~/.local/share/containers is empty.

    you still need to make sure fuse-overlayfs is enabled. Could you show the content of ~/.containers/config/libpod.conf ?

    点赞 评论 复制链接分享
  • weixin_39967096 weixin_39967096 5月前

    I don't have ~/.containers/config/libpod.conf, but I do have ~/.config/containers/libpod.conf:

    
    # libpod.conf is the default configuration file for all tools using libpod to
    # manage containers
    
    # Default transport method for pulling and pushing for images
    image_default_transport = "docker://"
    
    # Paths to look for the conmon container manager binary.
    # If the paths are empty or no valid path was found, then the `$PATH`
    # environment variable will be used as the fallback.
    conmon_path = [
            "/usr/libexec/podman/conmon",
            "/usr/local/libexec/podman/conmon",
            "/usr/local/lib/podman/conmon",
            "/usr/bin/conmon",
            "/usr/sbin/conmon",
            "/usr/local/bin/conmon",
            "/usr/local/sbin/conmon",
            "/run/current-system/sw/bin/conmon",
    ]
    
    # Environment variables to pass into conmon
    conmon_env_vars = [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    ]
    
    # CGroup Manager - valid values are "systemd" and "cgroupfs"
    #cgroup_manager = "systemd"
    
    # Container init binary
    #init_path = "/usr/libexec/podman/catatonit"
    
    # Directory for persistent libpod files (database, etc)
    # By default, this will be configured relative to where containers/storage
    # stores containers
    # Uncomment to change location from this default
    #static_dir = "/var/lib/containers/storage/libpod"
    
    # Directory for temporary files. Must be tmpfs (wiped after reboot)
    #tmp_dir = "/var/run/libpod"
    
    # Maximum size of log files (in bytes)
    # -1 is unlimited
    max_log_size = -1
    
    # Whether to use chroot instead of pivot_root in the runtime
    no_pivot_root = false
    
    # Directory containing CNI plugin configuration files
    cni_config_dir = "/etc/cni/net.d/"
    
    # Directories where the CNI plugin binaries may be located
    cni_plugin_dir = [
               "/usr/libexec/cni",
               "/usr/lib/cni",
               "/usr/local/lib/cni",
               "/opt/cni/bin"
    ]
    
    # Default CNI network for libpod.
    # If multiple CNI network configs are present, libpod will use the network with
    # the name given here for containers unless explicitly overridden.
    # The default here is set to the name we set in the
    # 87-podman-bridge.conflist included in the repository.
    # Not setting this, or setting it to the empty string, will use normal CNI
    # precedence rules for selecting between multiple networks.
    cni_default_network = "podman"
    
    # Default libpod namespace
    # If libpod is joined to a namespace, it will see only containers and pods
    # that were created in the same namespace, and will create new containers and
    # pods in that namespace.
    # The default namespace is "", which corresponds to no namespace. When no
    # namespace is set, all containers and pods are visible.
    #namespace = ""
    
    # Default infra (pause) image name for pod infra containers
    infra_image = "k8s.gcr.io/pause:3.1"
    
    # Default command to run the infra container
    infra_command = "/pause"
    
    # Determines whether libpod will reserve ports on the host when they are
    # forwarded to containers. When enabled, when ports are forwarded to containers,
    # they are held open by conmon as long as the container is running, ensuring that
    # they cannot be reused by other programs on the host. However, this can cause
    # significant memory usage if a container has many ports forwarded to it.
    # Disabling this can save memory.
    #enable_port_reservation = true
    
    # Default libpod support for container labeling
    # label=true
    
    # The locking mechanism to use
    lock_type = "shm"
    
    # Number of locks available for containers and pods.
    # If this is changed, a lock renumber must be performed (e.g. with the
    # 'podman system renumber' command).
    num_locks = 2048
    
    # Directory for libpod named volumes.
    # By default, this will be configured relative to where containers/storage
    # stores containers.
    # Uncomment to change location from this default.
    #volume_path = "/var/lib/containers/storage/volumes"
    
    # Selects which logging mechanism to use for Podman events.  Valid values
    # are `journald` or `file`.
    # events_logger = "journald"
    
    # Specify the keys sequence used to detach a container.
    # Format is a single character [a-Z] or a comma separated sequence of
    # `ctrl-<value>`, where `<value>` is one of:
    # `a-z`, `@`, `^`, `[`, `\`, `]`, `^` or `_`
    #
    # detach_keys = "ctrl-p,ctrl-q"
    
    # Default OCI runtime
    runtime = "crun"
    
    # List of the OCI runtimes that support --format=json.  When json is supported
    # libpod will use it for reporting nicer errors.
    runtime_supports_json = ["crun", "runc"]
    
    # List of all the OCI runtimes that support --cgroup-manager=disable to disable
    # creation of CGroups for containers.
    runtime_supports_nocgroups = ["crun"]
    
    # Paths to look for a valid OCI runtime (runc, runv, etc)
    # If the paths are empty or no valid path was found, then the `$PATH`
    # environment variable will be used as the fallback.
    [runtimes]
    runc = [
            "/usr/bin/runc",
            "/usr/sbin/runc",
            "/usr/local/bin/runc",
            "/usr/local/sbin/runc",
            "/sbin/runc",
            "/bin/runc",
            "/usr/lib/cri-o-runc/sbin/runc",
            "/run/current-system/sw/bin/runc",
    ]
    
    crun = [
            "/usr/bin/crun",
            "/usr/sbin/crun",
            "/usr/local/bin/crun",
            "/usr/local/sbin/crun",
            "/sbin/crun",
            "/bin/crun",
            "/run/current-system/sw/bin/crun",
    ]
    
    # Kata Containers is an OCI runtime, where containers are run inside lightweight
    # Virtual Machines (VMs). Kata provides additional isolation towards the host,
    # minimizing the host attack surface and mitigating the consequences of
    # containers breakout.
    # Please notes that Kata does not support rootless podman yet, but we can leave
    # the paths below blank to let them be discovered by the $PATH environment
    # variable.
    
    # Kata Containers with the default configured VMM
    kata-runtime = [
        "/usr/bin/kata-runtime",
    ]
    
    # Kata Containers with the QEMU VMM
    kata-qemu = [
        "/usr/bin/kata-qemu",
    ]
    
    # Kata Containers with the Firecracker VMM
    kata-fc = [
        "/usr/bin/kata-fc",
    ]
    
    # The [runtimes] table MUST be the last thing in this file.
    # (Unless another table is added)
    # TOML does not provide a way to end a table other than a further table being
    # defined, so every key hereafter will be part of [runtimes] and not the main
    # config.
    </value></value>

    I will also try to update fuse-overlay to the newest version.

    点赞 评论 复制链接分享
  • weixin_39967096 weixin_39967096 5月前

    I have updated fuse-overlay to

    
    fuse-overlayfs --version
    fuse-overlayfs: version 0.7.6
    FUSE library version 3.4.1
    using FUSE kernel interface version 7.27
    fusermount3 version: 3.4.1
    

    and now podman build works. Thank you!

    点赞 评论 复制链接分享

相关推荐