在 Docker 中找不到 MySQL 的 mysql_config [重复]
Posted
技术标签:
【中文标题】在 Docker 中找不到 MySQL 的 mysql_config [重复]【英文标题】:mysql_config not found with MySQL in Docker [duplicate] 【发布时间】:2019-03-13 04:15:29 【问题描述】:我在 Docker 上安装了 mysql 5.7,运行良好,并且在本地安装了 python 3.7。
我尝试使用命令安装flask-mysqldb
pip install flask-mysqldb
我收到一个错误
OSError: mysql_config not found
我从来不需要在我的机器上安装 MySQL 客户端连接器,连接任何系统也从来没有任何问题。
这与我的 Docker 配置有关吗? 我该如何解决这个问题?
【问题讨论】:
你在哪里执行了 pip install 命令?在 mysql 容器内? python 在我的机器上运行,mysql 在 docker 中,然后在 docker 上运行 pip 将不起作用。 @hoefling 在询问之前,我已经检查了您提出的所有链接。首先,我使用的是 Mac。其次,我正在尝试使我的本地连接器与 docker 容器一起使用。 @Light.G,是的。我做到了。错误是一样的 【参考方案1】:因为mysql:5.7的官方镜像不包含libmysqlclient-dev
只需安装此软件包并重试。
docker exec -it my_db bash
apt-get update
apt-get install libmysqlclient-dev
如果我在测试中遇到的 pip 有问题,请运行
pip install --upgrade setuptools
https://hub.docker.com/_/mysql/
https://github.com/docker-library/mysql/blob/9d1f62552b5dcf25d3102f14eb82b579ce9f4a26/5.7/Dockerfile
【讨论】:
当我在 docker 上安装了 python 和 Mysql,我在本地安装了 MySQL 和 python 时,它可以工作。 @Guerrato Docker 镜像是一堆文件和目录,就像 Linux 本身一样。当然,docker image 还包含其他文件来声明 docker daemon 如何处理上面的文件。所以在图像 mysql:5.7 中,它不包括额外的文件(包),但那些 mysql 需要。总之,在 mysql:5.7 中安装其他包不是最佳实践。我们最好让它尽可能薄。 这样你就可以扩展mysql镜像并为自己做相应的修改 非常感谢大家,但问题不在于我的 docker。我按照zehengl.github.io/2017/12/17/pip-install-mysqlclient-on-macos 解决了这个问题以上是关于在 Docker 中找不到 MySQL 的 mysql_config [重复]的主要内容,如果未能解决你的问题,请参考以下文章