V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX  ›  程序员

docker 内部 Python 如何连接主机的 MySQL?

  •  
  •   Reign · 2017-05-01 10:31:22 +08:00 via iPhone · 3206 次点击
    这是一个创建于 2791 天前的主题,其中的信息可能已经有所发展或是发生改变。
    python 新手,本想主机的 mysql.sock 通过 volume 的方式连接到 docker 内部 mysql.sock,奈何 docker 内连 python-mysql 都安装不上,google 了很久都装不上,有没有较为简单的方式 docker 内部连接主机 lnmp 中的 mysql ?
    10 条回复    2017-05-01 15:51:06 +08:00
    amd00
        1
    amd00  
       2017-05-01 10:47:03 +08:00 via Android
    那就不要为了用 docker 而用 docker 啊
    whileFalse
        2
    whileFalse  
       2017-05-01 11:01:35 +08:00
    --net=host
    ghostheaven
        3
    ghostheaven  
       2017-05-01 11:18:08 +08:00 via Android
    http://stackoverflow.com/a/18646069/395952

    让你的 mysql 监听 docker container 的 ip 地址,然后在 docker 就可以连接了
    Reign
        4
    Reign  
    OP
       2017-05-01 11:20:56 +08:00 via iPhone
    @whileFalse
    @ghostheaven 谢谢,那我 docker 内部需要安装 mysql 不?还是就一个裸 python 然后 import mysqldb ?
    ghostheaven
        5
    ghostheaven  
       2017-05-01 11:24:01 +08:00 via Android
    应该需要 mysql 的客户端扩展这种东西吧,估计就是你说的那个装不上的 python-mysql...
    dangyuluo
        6
    dangyuluo  
       2017-05-01 11:32:30 +08:00
    奇怪的用法
    momocraft
        7
    momocraft  
       2017-05-01 11:37:38 +08:00
    可以找个包管理器提供 python-mysql 的发行版

    当然更好的方法是搞清楚为什么装不上,然后装上
    ryd994
        8
    ryd994  
       2017-05-01 13:21:49 +08:00 via Android
    这里的问题难道不是为什么 python-mysql 装不了么?
    用的什么 docker 镜像,怎么装的?
    要是 docker 里没法连 MySQL,那那么多容器化的 Web 后端怎么办?
    v1024
        9
    v1024  
       2017-05-01 13:39:33 +08:00 via iPhone
    ip addr 找到 host 的 ip 即可
    AnyISalIn
        10
    AnyISalIn  
       2017-05-01 15:51:06 +08:00
    link
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:54 · PVG 10:54 · LAX 18:54 · JFK 21:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.