Maison > Questions et réponses > le corps du texte
如图
这里设置的应该是,将容器的3306映射到主机的3366上,但是我只能通过192.168.99.100:3366来连接容器内的mysql服务
我宿主机的真实ip是10.0.0.2
但是我通过10.0.0.2:3366却连接不上,求大神指点一下
習慣沉默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é.
曾经蜡笔没有小新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.
怪我咯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
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
我想大声告诉你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é.