Maison  >  Questions et réponses  >  le corps du texte

docker无法通过宿主ip访问容器中的mysql

如图

这里设置的应该是,将容器的3306映射到主机的3366上,但是我只能通过192.168.99.100:3366来连接容器内的mysql服务

我宿主机的真实ip是10.0.0.2

但是我通过10.0.0.2:3366却连接不上,求大神指点一下

过去多啦不再A梦过去多啦不再A梦2706 Il y a quelques jours1586

répondre à tous(7)je répondrai

  • 習慣沉默

    習慣沉默2017-04-25 09:03:33

    Pour répondre directement à votre question :
    La raison pour laquelle vous devez utiliser 192.168.99.100:3366 pour accéder au conteneur au lieu de l'IP de l'hôte : 10.0.0.2 est : vous avez utilisé Toolbox, et Toolbox est utilisé par défaut En ce qui concerne la machine virtuelle Virtualbox, il existe une couche supplémentaire.

    Description de l'image :

    @Youming a raison. Il est recommandé d'utiliser Docker pour Mac Toolbox sera progressivement abandonné.

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-25 09:03:33

    Essayez de désactiver le pare-feu

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-25 09:03:33

    Essayez de voir si vous pouvez vous connecter dans le conteneur. Par défaut, la configuration MySQL ne peut se connecter qu'à l'adresse IP 127.0.0.1.

    répondre
    0
  • 怪我咯

    怪我咯2017-04-25 09:03:33

    Fournissez quelques idées :

    • Testez d'abord l'état du service MySQL sur chaque IP via le port 3306, tel que :

    telnet 10.0.0.2 3306
    telnet 192.168.99.100 3306
    • Si telnet constate que le port est ouvert, vérifiez les paramètres MySQL, c'est-à-dire si les clients MySQL avec d'autres adresses IP sont autorisés à accéder

    répondre
    0
  • PHPz

    PHPz2017-04-25 09:03:33

    Pour ajouter le segment réseau du conteneur Docker au pare-feu, veuillez autoriser l'accès à l'hôte

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-25 09:03:33

    iptables -F

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-25 09:03:33

    Pourquoi utilisez-vous la version Toolbox de Docker maintenant ? Si vous utilisez directement la dernière version de Docker pour Mac, votre problème ne sera pas un problème...

    Docker s'exécute en fait sur une machine virtuelle Linux sur un système Mac. La version Toolbox de Docker utilise VirtualBox comme machine virtuelle car il s'agit d'une application tierce et l'interface fournie par l'application est limitée, bien que Docker puisse mapper. ports vers la machine virtuelle, mais le port de la machine virtuelle ne peut pas être mappé à l'hôte. Pour réaliser ce mappage, vous devez effectuer manuellement le mappage des ports dans VirtualBox.

    La nouvelle version de Docker pour Mac utilise xhyve comme fournisseur de machine virtuelle. En raison de la prise en charge native du système Mac, elle fournit des interfaces plus riches et peut également compléter automatiquement le mappage de ports entre la machine virtuelle et l'hôte. . Par conséquent, dans la nouvelle version de Docker pour Mac, il n'est pas nécessaire de mapper manuellement la machine virtuelle au port hôte. Vous pouvez directement utiliser le port local 127.0.0.1 pour accéder au conteneur qui y est lié.

    répondre
    0
  • Annulerrépondre