我已经在这里提到:无法从docker示例连接到mysql,但这次我在windows机器上运行docker。
pc@DESKTOP-NQ639DU MINGW64 /c/Program Files/Docker Toolbox
$ docker pull mysql/mysql-server
Using default tag: latest
latest: Pulling from mysql/mysql-server
e64f6e679e1a: Pull complete
799d60100a25: Pull complete
85ce9d0534d0: Pull complete
d3565df0a804: Pull complete
Digest: sha256:59a5854dca16488305aee60c8dea4d88b68d816aee627de022b19d9bead48d04
Status: Downloaded newer image for mysql/mysql-server:latest
pc@DESKTOP-NQ639DU MINGW64 /c/Program Files/Docker Toolbox
$ docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:latest
79ff1c03452ab2eac0d798b576ffeabde24d4c5aa6954d3d5c5bef99dcc40ce8
pc@DESKTOP-NQ639DU MINGW64 /c/Program Files/Docker Toolbox
$ mysql -uroot -ppassword
bash: mysql: command not found
pc@DESKTOP-NQ639DU MINGW64 /c/Program Files/Docker Toolbox
$ docker exec -it mysql bash
bash-4.2# mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
bash-4.2# mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
bash-4.2#
3条答案
按热度按时间xhv8bpkk1#
如果你从https://dev.mysql.com/downloads/windows/ 然后,您就可以访问docker托管的mysql,访问方式与访问任何其他mysql数据库相同(注意,不需要在数据库容器中获取根shell)。因为您使用的是docker工具箱,所以可能会使用192.168.99.100作为数据库服务器的ip地址。
zd287kbt2#
尝试在docker compose.y\ml中添加以下内容
kr98yfug3#
您应该尝试通过环回接口连接,因为您没有访问套接字的权限。
在这种情况下,就好像您的服务器正在另一台机器上运行一样,与您的主机共享的唯一东西就是公开的端口。