MySQL Connection в контейнере Docker

1

Это сводит меня с ума...

Я создаю простой стек LEMP с Docker на моем Mac.

Это мой файл для докер-компоновки:

nginx:
    image: tutum/nginx
    ports:
        - "3333:80"
    links:
        - phpfpm
        - db
    volumes:
        - ./nginx/default.conf:/etc/nginx/sites-available/default
        - ./nginx/default.conf:/etc/nginx/sites-enabled/default

        - ./logs/nginx-error.log:/var/log/nginx/error.log
        - ./logs/nginx-access.log:/var/log/nginx/access.log

phpfpm:
    build: ./phpfpm
    ports:
        - "9000:9000"
    volumes:
        - ./code:/usr/share/nginx/html

db:
  image: mysql
  tty: true
  restart: always
  volumes:
    - /Users/mauo/local/mysql/data:/var/lib/mysql
  ports:
    - "3308:3306"
  environment:
    MYSQL_DATABASE: 'docker'
    MYSQL_ROOT_PASSWORD: 'root'
    MYSQL_USER: 'root'
    MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'

Все работает отлично, за исключением контейнера mysql.

Это не дает мне связи.

Это сообщение в моем php файле внутри папки кода:

(HY000/2002): Connection refused in /usr/share/nginx/html/index.php on line 2

Когда я вхожу в контейнер mysql с exec -it bash, и я набираю 'mysql', то же самое, доступ запрещен для root @localhost.

Из контейнера я попытался запустить "mysqld", и он говорит мне

2016-07-16T09:56:02.777893Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 11
    2016-07-16T09:56:02.778010Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
    2016-07-16T09:56:03.779967Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 11
    2016-07-16T09:56:03.780182Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

Любая помощь будет оценена !!!!

спасибо

М.

  • 0
    давайте попробуем найти проблему. Попробуйте удалить тома из конфигурации docker-compose: - /Users/mauo/local/mysql/data:/var/lib/mysql
Теги:
docker
docker-compose

1 ответ

0

Я новичок в докеров, поэтому я могу ошибаться.

Вы пробовали root @db. Я думаю, что какая-то магия докеров создает записи DNS для ваших связанных контейнеров. Если вам удастся запустить root @localhost, то, пожалуйста, дайте мне знать. У меня такая же проблема.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню