【问题标题】:How do I access a db container when using podman-compose?使用 podman-compose 时如何访问数据库容器?
【发布时间】:2022-01-15 11:43:47
【问题描述】:

我一直在尝试弄清楚如何在使用 podman-compose 时连接到 mariadb 容器,但一直收到错误消息。

这是我所做的:

软件版本

podman version = 3.3.1
podman-compose version = podman-compose-0.1.7-2.git20201120.el8.noarch`

docker-compose.yml

version: '3'
services:
  db:
    image: mariadb:latest
    environment:
      MARIADB_USER: user
      MARIADB_PASSWORD: pass
      MARIADB_DATABASE: testdb
      MARIADB_ROOT_PASSWORD: rootpass
    volumes:
      - db_data:/var/lib/mysql

当我启动这个容器时使用:podman-compose up -d

然后尝试使用以下方式连接到该数据库:

podman exec -it project_db_1 mariadb -uroot -prootpass

我收到此错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我作为普通用户和 root 用户都收到此错误。

然而,当我使用 podman 运行同一个容器时:

Podman 命令

podman run -d \
--name mariadb \
-e MARIADB_USER=user \
-e MARIADB_PASSWORD=pass \
-e MARIADB_DATABASE=testdb \
-e MARIADB_ROOT_PASSWORD=rootpass \
mariadb:latest

然后尝试使用以下方式连接到该数据库:

podman exec -it mariadb mariadb -uroot -prootpass

我能够成功登录。

谁能向我解释一下我在使用 podman-compose 时做错了什么,或者为什么它不允许我使用我提供的凭据登录?

【问题讨论】:

    标签: mariadb podman podman-compose


    【解决方案1】:

    好的,对于任何想知道我做了什么来解决这个问题的人... 首先,我卸载了 podman 和 podman-compose,因为它的问题太多了,所以我安装了 docker 和 docker-compose。

    其次,当我在 docker-compose 中运行此脚本时,我遇到了一个错误,而该错误没有出现在 podman-compose 中。

    错误:services.db.environment must be a mapping

    在谷歌搜索该错误后,我发现我需要像这样格式化环境部分:

    version: '3'
    services:
      db:
        image: mariadb:latest
        environment:
          - MARIADB_USER=user
          - MARIADB_PASSWORD=pass
          - MARIADB_DATABASE=testdb
          - MARIADB_ROOT_PASSWORD=rootpass
        volumes:
          - db_data:/var/lib/mysql
    

    修复该问题后,docker-compose 运行良好,我可以连接到我的数据库,甚至可以从另一个容器连接。我确实使用 podman-compose 和此代码修复进行了测试,但它仍然无法正常工作。所以我只会使用 docker,直到 podman 解决了他们的问题。

    【讨论】:

    • 两种方式都是有效的对象和数组语法。至少与码头工人。我认为 podman 也是如此。所以我猜你的问题是别的。
    猜你喜欢
    • 2021-11-01
    • 2020-09-05
    • 2019-06-04
    • 2019-11-15
    • 2022-01-23
    • 2015-08-17
    • 2018-04-06
    • 1970-01-01
    • 2021-05-13
    相关资源
    最近更新 更多