标签: podman

在没有 sudo 的情况下运行特权 podman(并且没有用户名空间)

我在 RHEL 7.6 上安装了 podman 并且可以使用 sudo 运行正常的 docker 命令

sudo podman run hello-world
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用 sudo 的情况下运行它,而不使用用户名空间(类似于docker使用常规docker命令时将用户添加到组中)?

我知道当以非 root 用户身份运行时,podman 使用用户名空间。但我无法在机器上启用/设置 suid(LDAP 等)

目前,当以非 root 用户身份运行时,我得到了这个

user namespaces are not enabled in /proc/sys/user/max_user_namespaces
ERRO[0000] cannot re-exec process
Run Code Online (Sandbox Code Playgroud)

containers rhel7 podman

5
推荐指数
1
解决办法
6480
查看次数

以非 root 用户身份进行实验后如何重置 podman 和 buildah?

非 root 用户一直在尝试运行 podman 和 buildah 命令,但现在只想将所有内容重置为开始实验之前的状态(即所有容器映像和容器应与 buildah 和 podman 配置一起删除)。

我最好的猜测是跑步

testuser@linux:~$ rm -rf  ~/.local/share/containers/
Run Code Online (Sandbox Code Playgroud)

可能会起作用。

为此你推荐什么命令?

使用的软件版本

Ubuntu 18.04.2 与 https://launchpad.net/~projectatomic/+archive/ubuntu/ppa

testuser@linux:~$ dpkg -l|grep podm
ii  podman                                     1.3.2-1~dev~ubuntu18.04~ppa15                amd64        Manage pods, containers and container images.
testuser@linux:~$ dpkg -l|grep buildah
ii  buildah                                    1.9.0-1~dev~ubuntu18.04~ppa17                amd64        A command line tool used for creating OCI images.
testuser@linux:~$
Run Code Online (Sandbox Code Playgroud)

buildah podman

5
推荐指数
1
解决办法
9803
查看次数

如何在不写入主目录的情况下运行 podman 和 buildah?

我的主目录中几乎没有剩余磁盘空间,但目录/scratch/tmpexperiment中有大量磁盘空间。该目录现在是空的。

我想尝试一下命令podmanbuildah(只是为了实验和学习)。实验结束后我想删除目录/scratch/tmpexperiment

是否可以指示podmanbuildah仅在 /scratch/tmpexperiment下创建和写入文件?

最好我的主目录在实验期间保持不变(或至少尽可能少地修改)。

我的用户没有 sudo 权限。这个问题是关于 podman 和 buildah 的非 root(无根)使用。安装的软件版本为podman 1.4.0和1.9.0-dev。

buildah podman

5
推荐指数
1
解决办法
1407
查看次数

Podman是否支持私有注册表

我的理解是,当 Podman 拉取图像时,它将其缓存到用户主目录 - 例如)~/.local/share/containers。Docker 提供了一种私有镜像注册表机制,可以在项目团队之间共享。我找不到任何与 Podman 类似概念的参考。Podman 如何管理需要在团队中共享的私有镜像?

我正在努力寻找任何对 Podman 私人注册表的引用。StackOverflow 上有 0 个关于此主题的搜索结果。

podman

5
推荐指数
1
解决办法
7646
查看次数

在没有特权的情况下在 docker 容器中运行 Podman

我想知道如何在不使用--privileged参数的情况下在 docker 容器中运行 Podman ?我没有使用rootless,这意味着我现在正在与root用户一起运行。

privileged

$ docker run --rm -it --privileged podman:test sh
$ / podman run --rm -it docker.io/alpine sh
Trying to pull docker.io/alpine...
Getting image source signatures
Copying blob cbdbe7a5bc2a done
Copying config f70734b6a2 done
Writing manifest to image destination
Storing signatures
/ #
Run Code Online (Sandbox Code Playgroud)

不工作

$ docker run --rm -it --cap-add SYS_ADMIN --cap-add NET_ADMIN podman:test sh
$ / podman run --rm -it docker.io/alpine sh
Trying to pull docker.io/alpine...
Getting image …
Run Code Online (Sandbox Code Playgroud)

docker podman

5
推荐指数
1
解决办法
1359
查看次数

Podman构建命令无法拉取镜像

我在RHEL7中安装Podman后配置了Subuid和Subgid

我创建了一个简单的 Dockerfile 来打印 hello world 并尝试构建图像。我的 Dockerfile

FROM alpine
CMD ["echo", "Hello World"]
Run Code Online (Sandbox Code Playgroud)

为了测试我正在运行以下命令

Podman build -t imagename .
Run Code Online (Sandbox Code Playgroud)

我看到收到以下错误。

STEP 1: FROM alpine
Error: error creating build container: The following failures happened while trying to pull image specified by "alpine" based on search registries in /etc/containers/registries.conf:
* "localhost/alpine": Error initializing source docker://localhost/alpine:latest: error pinging docker registry localhost: Get https://localhost/v2/: dial tcp [::1]:443: connect: connection refused
* "registry.access.redhat.com/alpine": Error initializing source docker://registry.access.redhat.com/alpine:latest: error pinging docker registry registry.access.redhat.com: Get https://registry.access.redhat.com/v2/: …
Run Code Online (Sandbox Code Playgroud)

rhel7 podman

5
推荐指数
1
解决办法
1万
查看次数

无法在 macOS 上使用 podman 登录 docker 注册表 - x509:由未知颁发机构签名的证书

我正在尝试使用 podman (版本:3.2.3)登录私有 docker 注册表。

\n

我使用时安装的默认虚拟机podman machine init

\n

证书(即.pem文件)安装在 macOS\xe2\x80\x99s 钥匙串中。

\n

当我跑步时:

\n
podman login myhost.io\n
Run Code Online (Sandbox Code Playgroud)\n

输入用户名和密码后,我得到:

\n
Error: authenticating creds for "myhost.io": error pinging docker registry myhost.io: Get "https://myhost.io/v2/": x509: certificate signed by unknown authority\n
Run Code Online (Sandbox Code Playgroud)\n

我做错了什么吗?我可以使用钥匙串中保存的证书吗?或者我可以使用 .pem 文件吗\xe2\x80\x94-authfile

\n

感谢您的帮助和建议。

\n

macos x509certificate docker-registry podman

5
推荐指数
1
解决办法
1万
查看次数

连接到 /var/run/docker.sock 时权限被拒绝

我正在尝试使用podman 在 RHEL 8.0 中使用了望塔容器( https://containrrr.dev/watchtower/ )。由于 RHEL 8.0 不正式支持 docker,因此我没有在该虚拟机中安装 docker-engine。我已经启动了 podman.socket 服务,并且 podman.sock 位于 /run/podman/podman.sock

当我发出podman-compose up -d命令时,所有其他容器都成功启动,没有任何错误,但瞭望塔容器退出并显示代码 (1)。

这是瞭望塔容器生成的日志:

time="2022-01-20T13:45:50Z" level=error msg="Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.25/containers/json?filters=%7B%22status%22%3A%7B%22running%22%3Atrue%7D%7D&limit=0\": dial unix /var/run/docker.sock: connect: permission denied"
0
Run Code Online (Sandbox Code Playgroud)

我授予了 /run/podman/podman.sock 文件的执行权限,但仍然收到此错误。

带有瞭望塔服务的 docker-compose.yml 片段。

  watchtower:
    image: index.docker.io/containrrr/watchtower:1.3.0
    volumes:
      - /run/podman/podman.sock:/var/run/docker.sock 
Run Code Online (Sandbox Code Playgroud)

由于我没有 docker.sock,因此我将 podman.sock 安装到 docker.sock,以便 watchtower 可以与 docker API 进行通信。

我该如何修复它?(我不想安装docker)

docker docker-watchtower podman rhel8

5
推荐指数
1
解决办法
2890
查看次数

Podman 与 Docker 有何不同?

我知道 Docker 和 Kubernetes 解决了同样的问题。大多数用户可以简单地将 Docker 别名为 Podman(别名 docker=podman),不会出现任何问题。

那么它们之间有什么区别呢?

cloud redhat docker devops podman

5
推荐指数
2
解决办法
4579
查看次数

Podman 服务器 API 版本太旧。客户端“4.0.0”服务器“3.4.4”

我正在尝试使用 Podman 在 IntelliJ 中构建 Spring Boot 项目的映像。Jetbrain 的指南建议在构建、执行、部署 > Docker 中“选择 TCP 套接字并在引擎 API URL 中指定 Podman API 服务 URL”(请参阅​​ https://www.jetbrains.com/help/idea/podman.html)。

但是,当提供 Podman 文档中找到的 TCP 套接字时(请参阅https://docs.podman.io/en/latest/markdown/podman-system-service.1.html),IntelliJ 表示无法连接。

最后,当终端中出现以下错误时:

(base) abc ~ % podman ps
Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM
Error: unable to connect to Podman socket: server API …
Run Code Online (Sandbox Code Playgroud)

spring intellij-idea docker devops podman

5
推荐指数
1
解决办法
3199
查看次数