Это сводит меня с ума...
Я создаю простой стек 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.
Любая помощь будет оценена !!!!
спасибо
М.
Я новичок в докеров, поэтому я могу ошибаться.
Вы пробовали root @db. Я думаю, что какая-то магия докеров создает записи DNS для ваших связанных контейнеров. Если вам удастся запустить root @localhost, то, пожалуйста, дайте мне знать. У меня такая же проблема.
- /Users/mauo/local/mysql/data:/var/lib/mysql