【问题标题】:running postgresql image with podman failed使用 podman 运行 postgresql 映像失败
【发布时间】:2020-06-15 05:09:42
【问题描述】:

使用 podman 运行 postgresql alpine 映像时:

podman run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=test -e POSTGRES_USER=test -d postgres:11-alpine

结果是:

错误:/usr/bin/slirp4netns failed: "open(\"/dev/net/tun\"): No such device\nWARNING: 对沙盒的支持是实验性的\nchild failed(1)\nWARNING: Support for沙盒是实验性的\n"

运行系统是archlinux。有没有办法解决这个错误或转弯?

谢谢

【问题讨论】:

  • podmanslirp4netns的版本是什么?我记得在非特权容器的设备节点中也有类似的错误,并且在不久前已修复...

标签: archlinux postgresql-11 podman


【解决方案1】:
  1. slirp4netns 是否正确安装?查看项目Site 获取信息。

  2. 有时国旗顺序很重要。首先尝试-d,最后尝试-p(直接引用图像),看起来像:

    • podman run -d --name postgres -e POSTGRES_PASSWORD=test -e POSTGRES_USER=test -p 5432:5432 postgres:11-alpine
  3. 尝试只创建必要的密码,然后登录到您的容器并手动创建(这一直对我有用)

    1. podman run -d --name postgres -e POSTGRES_PASSWORD=test -p 5432:5432 postgres:11-alpline
      1. podman exec -it postgres bash
      2. 创建默认用户 postgres
        • su - postgres
      3. 启动 postgres
        • psql
      4. 创建数据库和表
        • CREATE USER testuser WITH PASSWORD 'testpassword' | Doku
        • CREATE DATABASE testdata WITH OWNER testuser
      5. 检查它是否有效
        • \l+
    2. 通过 IP 和端口连接到您的数据库

【讨论】:

    【解决方案2】:

    我假设您最近升级了 Arch 软件包。您的系统很可能需要重新启动。

    【讨论】:

    • podman 2.2.1 更新和系统重启后,问题得到解决。谢谢大家。
    • @Ruddy32 如果重启解决了你的问题,接受答案怎么样?
    猜你喜欢
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    相关资源
    最近更新 更多