暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

podman给我上的第一课

运维时刻 2020-04-25
2764

先来说明下,podman是红帽公司在Redhat8中推出的Docker替代产品。最近由于项目需要,帮别人安装podman,并且需要完成基本的配置,保证podman可以使用起来。结果,podman很快就安装好了,可是当我们要pull镜像的时候,却被一个用户命名空间的错误“there might not be enough IDs available in the namespace"困扰了一周。


以下是我遇到的错误:

    [javadm@instance-2 ~]$ docker pull ubuntu
    ERRO[0000] cannot find mappings for user javadm: No subuid ranges found for user "javadm" in etc/subuid
    ERRO[0000] cannot find mappings for user javadm: No subuid ranges found for user "javadm" in etc/subuid
    Trying to pull registry.access.redhat.com/ubuntu...
    name unknown: Repo not found
    Trying to pull registry.fedoraproject.org/ubuntu...
    manifest unknown: manifest unknown
    Trying to pull registry.centos.org/ubuntu...
    manifest unknown: manifest unknown
    Trying to pull docker.io/library/ubuntu...
    Getting image source signatures
    Copying blob 6154df8ff988 done
    Copying blob d51af753c3d3 done
    Copying blob fee5db0ff82f done
    Copying blob fc878cd0a91c done
    Copying config 1d622ef86b done
    Writing manifest to image destination
    Storing signatures
    Error processing tar file(exit status 1): there might not be enough IDs available in the namespace (requested 0:42 for etc/gshadow): lchown etc/gshadow: invalid argument
    Error: error pulling image "ubuntu": unable to pull ubuntu: 4 errors occurred:
    * Error initializing source docker://registry.access.redhat.com/ubuntu:latest: Error reading manifest latest in registry.access.redhat.com/ubuntu: name unknown: Repo not found
    * Error initializing source docker://registry.fedoraproject.org/ubuntu:latest: Error reading manifest latest in registry.fedoraproject.org/ubuntu: manifest unknown: manifest unknown
    * Error initializing source docker://registry.centos.org/ubuntu:latest: Error reading manifest latest in registry.centos.org/ubuntu: manifest unknown: manifest unknown
            * Error committing the finished image: error adding layer with blob "sha256:d51af753c3d3a984351448ec0f85ddafc580680fd6dfce9f4b09fdb367ee1e3e": Error processing tar file(exit status 1): there might not be enough IDs available in the namespace (requested 0:42 for /etc/gshadow): lchown /etc/gshadow: invalid argument


    经过各种折腾,终于找个了根本原因,引用下我自己的博文

    https://blog.csdn.net/byygyy/article/details/105740029

    其实,只要根据实际情况,设置好命名空间就对了,关键是过程很曲折。

      [javadm@localhost ~]$ echo javadm:410000000:500000000 >> /etc/subuid
      [javadm@localhost ~]$ echo javadm:410000000:500000000 >> /etc/subgid
      [javadm@localhost ~]$ podman system migrate
      [javadm@localhost ~]$ podman info


      解决后,看下我们如何拉取镜像并运行他。

        [javadm@iZj6cdyw9ivwn9a3j8q0nzZ ~]$ docker pull nginx
        Trying to pull registry.access.redhat.com/nginx...
        unsupported: This repo requires terms acceptance and is only available on registry.redhat.io
        Trying to pull registry.fedoraproject.org/nginx...
        manifest unknown: manifest unknown
        Trying to pull registry.centos.org/nginx...
        manifest unknown: manifest unknown
        Trying to pull docker.io/library/nginx...
        Getting image source signatures
        Copying blob 54fec2fa59d0 done
        Copying blob 4ede6f09aefe done
        Copying blob f9dc69acb465 done
        Copying config 602e111c06 done
        Writing manifest to image destination
        Storing signatures
        602e111c06b6934013578ad80554a074049c59441d9bcd963cb4a7feccede7a5
        [javadm@iZj6cdyw9ivwn9a3j8q0nzZ ~]$ docker run --name nginx-test -p 8080:80 -d nginx
        d9ec65e4768ed05a7cc99a5a06c2f54ac45d355c346c54adda397ee38ab04883
        [javadm@iZj6cdyw9ivwn9a3j8q0nzZ ~]$ docker ps
        CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
        d9ec65e4768e docker.io/library/nginx:latest nginx -g daemon o... 6 seconds ago Up 6 seconds ago 0.0.0.0:8080->80/tcp nginx-test
        [javadm@iZj6cdyw9ivwn9a3j8q0nzZ ~]$ netstat -an|grep 8080
        tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN



        文章转载自运维时刻,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论