gpt4 book ai didi

python - 访问容器中的数据库

转载 作者:行者123 更新时间:2023-11-29 15:45:34 30 4
gpt4 key购买 nike

我有一个容器化的Python应用程序(目前是Windows 10),它连接到MySQL8.0 DB,加载和操作数据,转换为XML并使用MQTT发布它们。尽管我是一个理解上有些困难的 Docker 新手,但我单独为 python 应用程序构建了一个简单的图像和容器。问题是,我和我的团队可能想将数据库放置在 Docker 中。是否可以将数据库中的表/数据插入到 docker-container 中?

所有在线数据库都有 docker-images,但我未能传递我们用于数据和表的数据库。 Access host database from a docker container我之前搜索过,发现了一些有趣的帖子,但没有一个完全回答我的问题

这是连接到数据库的代码部分:

conc = mysql.connector.connect(user='root3r', password='**********', host='******',
database='sql_data', auth_plugin='mysql_native_password')

如果数据库位于容器内,我应该在主机参数中传递什么IP?

编辑:好的,经过多次试验,我使用了命令“docker-machine ip”,并且该 IP 对我有用,所以我的本地应用程序成功连接到 Dockerized-DB,但我无法使用相同的命令从任何其他远程计算机连接python.app

docker-machine IP 仅对 docker 主机可见吗?

最佳答案

如果您使用 docker-compose,Docker 将在所有组合容器之间建立一个内部网络。在这种情况下,您可以将容器的名称作为主机传递。例如,在 docker-compose.yml 文件中,有 2 个容器正在运行:

version: "3.2"
services:
api:
image: python
db_container_name:
image: postgres

您可以使用以下内容从 api 到数据库容器进行 HTTP 调用:

conc = mysql.connector.connect(user='root3r',password='**********',hostst='db_container_name',database='sql_data',auth_plugin='mysql_native_password') ```

关于python - 访问容器中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57092632/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com