如何连接到docker-compose创建的mysql

时间:2017-06-15 03:21:36

标签: mysql docker docker-compose

我无法连接到在本地环境(Mac OS X)中使用Docker创建的Mysql。
我创建了以下配置文件。

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)

请告诉我如何处理它。

2 个答案:

答案 0 :(得分:3)

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

此处的注释端口为大写字母P,密码为小写字母p。

希望这有帮助!

答案 1 :(得分:0)

我想如果你从主机连接到容器。 mysql将看到来自非本地主机的连接,因此请断开连接。您可以更改mysql配置以允许其他主机,或使用docker exec -it mysql ...

从该容器内部进行连接