Невозможно подключиться к Mysql на Docker на компьютере с Windows - PullRequest
0 голосов
/ 16 декабря 2018

Я уже выполнил упомянутое здесь: Невозможно подключиться к MYSQL из экземпляра Docker , но на этот раз я запускаю docker на машине с Windows.

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 ]

0 голосов
/ 16 декабря 2018

Если вы загрузите клиент MySQL с https://dev.mysql.com/downloads/windows/, вы сможете получить доступ к MySQL, размещенному на Docker, точно так же, как и к любой другой базе данных MySQL (заметьте, без необходимости получения рута).оболочка в контейнере базы данных).Поскольку вы используете Docker Toolbox, вы, вероятно, будете использовать 192.168.99.100 в качестве IP-адреса сервера базы данных.

0 голосов
/ 01 июля 2019

Попробуйте добавить ниже в docker-compose.y \ ml

    services:
      db:
        image: mysql:5.7
        environment:
         MYSQL_DATABASE: 'Dbname'
         # So you don't have to use root, but you can if you like
         MYSQL_USER: 'username'
         # You can use whatever password you like
         MYSQL_PASSWORD: 'Password'
         # Password for root access
         MYSQL_ROOT_PASSWORD: 'RootPassword'
        ports:
         # <Port exposed> : < MySQL Port running inside container>
          - '3307:3306'
        expose:
         # Opens port 3306 on the container
          - '3306'
         # Where our data will be persisted
        volumes:
        - my-db:/var/lib/mysql
    volumes:
      my-db:
0 голосов
/ 16 декабря 2018

Вы должны попытаться подключиться через интерфейс обратной связи, так как у вас нет доступа к сокету.

mysql -h 127.0.0.1 -uroot -p

В этом случае, если ваш сервер работает на другом компьютере, это толькообщий ресурс с вашим хостом - это открытый порт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...