【发布时间】: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.25和mysql -h 127.0.0.1 -u root -p。另一种选择是使用--volume并绑定挂载 Unix 域套接字所在的目录。
标签: containers ip-address fedora podman redhat-containers