Docker: Не удается подключиться к mysql под контейнером с параметрами docker-compose - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь запустить mysql под контейнером с параметрами mysql, которые я определил в файле docker-compose.yml.Но у меня отказано в доступе при запуске: mysql -utest -ptest

Я могу подключиться только с помощью mysql -uroot -proot.Помоги мне, пожалуйста.Спасибо.

mysql:
    container_name: mysql
    image: mysql
    restart: always
    volumes:
        - .docker/data/db:/var/lib/mysql
    environment:
        MYSQL_DATABASE: app
        MYSQL_ROOT_PASSWORD: test
        MYSQL_USER: test
        MYSQL_PASSWORD: test

Ответы [ 3 ]

0 голосов
/ 24 марта 2019

Попробуйте запустить с указанным именем базы данных следующим образом:

mysql -u test -p test app

Пояснение:

MYSQL_USER, MYSQL_PASSWORD Эти переменные являются необязательными и используются совместно для создания нового пользователя и установки пароля этого пользователя. Этому пользователю будут предоставлены права суперпользователя (см. Выше) для базы данных, указанной в переменной MYSQL_DATABASE. Обе переменные необходимы для создания пользователя.

Со страницы док-станции MySQL

Разрешения предоставляются только для базы данных, указанной в переменной среды. При попытке войти в базу данных по умолчанию у вас нет прав доступа только к базе данных приложения.

0 голосов
/ 24 марта 2019

Возможно, вы могли бы попробовать подключить интерактивный процесс bash к уже запущенному контейнеру, выполнив следующие действия:

  • Получите ваш идентификатор контейнера или имя от запуска docker container ls в вашем терминале (я говорю о контейнере mysql, который должен иметь имя mysql в соответствии с вашим файлом docker-compose.yml)
  • Запустите docker exec -it mysql bash, чтобы связать интерактивный процесс bash с работающим контейнером
  • Теперь, находясь внутри файловой системы вашего контейнера, запустите mysql --user=test --password=test, и вы сможете продолжить свою работу
0 голосов
/ 24 марта 2019

Мой полный файл docker-compose.

version: '3.2'
services:
    apache:
        container_name: apache
        build: .docker/apache/
        restart: always
        volumes:
            - .:/var/www/html/app/
        ports:
            - 80:80
        depends_on:
            - php
            - mysql
        links:
            - mysql:mysql
    php:
        container_name: php
        build: .docker/php/
        restart: always
        volumes:
            - .:/var/www/html/app/
        working_dir: /var/www/html/app/

    mysql:
        container_name: mysql
        image: mysql
        restart: always
        volumes:
            - .docker/data/db:/var/lib/mysql
        environment:
            MYSQL_DATABASE: app
            MYSQL_ROOT_PASSWORD: test
            MYSQL_USER: test
            MYSQL_PASSWORD: test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...