【问题标题】:the container doesn't have an ip Address, how can we connect to the mysql server container from a local client容器没有ip地址,我们如何从本地客户端连接到mysql服务器容器
【发布时间】:2021-08-27 16:57:23
【问题描述】:

我要复现this example

运行一个 mysql 容器。

podman run -d -e MYSQL_ROOT_DATABASE=123 mysql:8.0.25

验证容器的ip地址

podman inspect <id>

那么我们就可以使用宿主机中的任意数据库客户端,通过这个参数访问容器中的mysql数据库:

  • 用户:root
  • 密码:123
  • 主机:容器IP地址

我的步骤:

[chris@fedora ~]$ podman run -d -e MYSQL_ROOT_PASSWORD=123 mysql:8.0.25 
6d008dbd5ad24a49ad1a63d1ccc688bbad3af0703cbd45f0560a340bd5b722e5
[chris@fedora ~]$ podman ps
CONTAINER ID  IMAGE                           COMMAND  CREATED        STATUS            PORTS   NAMES
6d008dbd5ad2  docker.io/library/mysql:8.0.25  mysqld   4 seconds ago  Up 4 seconds ago          practical_edison
[chris@fedora ~]$ podman inspect |grep IPAddress
Error: no names or ids specified
[chris@fedora ~]$ podman inspect practical_edison |grep IPAddress
            "IPAddress": "",
[chris@fedora ~]$ 


并且mysql容器中没有ip地址。


podman 有其他方法吗?

有没有更好或更安全的方法来实现它?

信息:

[chris@fedora ~]$ podman --version
podman version 3.1.2
[chris@fedora ~]$
[chris@fedora ~]$ uname -a
Linux fedora 5.12.9-300.fc34.x86_64 #1 SMP Thu Jun 3 13:51:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[chris@fedora ~]$ 

【问题讨论】:

  • 我认为你也可以在没有 sudo 的情况下使用 run,例如 podman run -d --name mydbcontainer -e MYSQL_PASSWORD=yourpassword -p 3306:3306 docker.io/library/mysql:8.0.25mysql -h 127.0.0.1 -u root -p。另一种选择是使用 --volume 并绑定挂载 Unix 域套接字所在的目录。

标签: containers ip-address fedora podman redhat-containers


【解决方案1】:

我犯了一个错误。 我使用我的管理用户切换到超级用户,并且容器有一个 IP 地址,也许在过去我只使用过

sudo podman run...

总之,切换到超级用户

sudo su 
insert your password

现在容器确实有 IP 地址。你可以使用管道和grep 命令

podman inspect <id or name> |grep IPAddress
[root@fedora chris]# podman run -d -e MYSQL_ROOT_PASSWORD=123 mysql:8.0.25 
a886b4b43446513d75734925b374c0428c7e507dcc2e73ca0cc704c7f51c8789
[root@fedora chris]# podman ps
CONTAINER ID  IMAGE                           COMMAND  CREATED        STATUS            PORTS   NAMES
a886b4b43446  docker.io/library/mysql:8.0.25  mysqld   6 seconds ago  Up 6 seconds ago          suspicious_wright
[root@fedora chris]# podman inspect suspicious_wright |grep IPAddress
            "IPAddress": "10.88.0.4",
                    "IPAddress": "10.88.0.4",
[root@fedora chris]# 


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 2016-12-27
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    相关资源
    最近更新 更多