如何连接到由docker-compose创build的mysql

我无法连接到在本地环境(Mac OS X)中使用Docker创build的Mysql。
我已经创build了下面的configuration文件。

version: '2' services: db: image: mysql:5.7 environment: MYSQL_DATABASE: mysqldatabase MYSQL_USER: mysql MYSQL_PASSWORD: mysql MYSQL_ROOT_PASSWORD: password ports: - "33333:3306" container_name: mysql-db volumes: - db-data:/var/lib/mysql volumes: db-data: driver: local 

然后,我用下面的命令启动了mysql的docker容器。

 $ docker-compose up -d $ docker start mysql-db 

到目前为止,没有问题,但尝试连接到MySQL时发生错误。

 $ mysql -p 33333 -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 

请告诉我如何处理它。

试试mysql -h 0.0.0.0 -P 33333 -u root -p

注意这里的端口有大写字母P,密码有小写字母p。

希望这可以帮助!

我想如果你从主机连接到容器。 mysql会看到来自非本地主机的连接,所以断开连接。 您可以更改MySQL的configuration,以允许其他主机,或从该容器内使用docker exec -it mysql ...