首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用podman-组合时访问db容器?

如何在使用podman-组合时访问db容器?
EN

Stack Overflow用户
提问于 2022-01-12 00:53:53
回答 1查看 873关注 0票数 1

我一直试图弄清楚如何连接到mariadb容器时,使用podman-撰写,我一直收到一个错误。

以下是我所做的:

软件版本

代码语言:javascript
复制
podman version = 3.3.1
podman-compose version = podman-compose-0.1.7-2.git20201120.el8.noarch`

docker-compose.yml

代码语言:javascript
复制
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旋转这个容器时

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

代码语言:javascript
复制
podman exec -it project_db_1 mariadb -uroot -prootpass

我知道这个错误:

代码语言:javascript
复制
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我以常规用户和根用户的身份获得此错误。

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

Podman命令

代码语言:javascript
复制
podman run -d \
--name mariadb \
-e MARIADB_USER=user \
-e MARIADB_PASSWORD=pass \
-e MARIADB_DATABASE=testdb \
-e MARIADB_ROOT_PASSWORD=rootpass \
mariadb:latest

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

代码语言:javascript
复制
podman exec -it mariadb mariadb -uroot -prootpass

我能够成功登录。

有谁能向我解释一下,我在podman写作中做错了什么,或者为什么它不允许我用我给出的证书登录?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-12 22:04:05

好吧,想知道我做了什么来解决这个问题的人.首先,我卸载了podman和podman-撰写,因为它有太多的问题,所以我安装了坞和码头-撰写。

其次,当我运行这个脚本在坞-撰写,我得到一个错误,没有出现在podman-撰写。

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

在搜索了这个错误之后,我发现我需要像这样设置环境部分的格式:

代码语言:javascript
复制
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运行得非常好,我甚至可以从另一个容器连接到我的数据库。我确实用podman编写了这个代码补丁做了一个测试,但是它仍然不能工作。所以我要用码头直到波德人解决他们的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70675139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档