我使用docker集線器中的official MySQL image,並從外部連接端口3333:3306。連接到docker中的mysql
我知道,我必須要改變綁定IP內/etc/mysql/my.cnf
這個容器的IP和授予權限的用戶,如:GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'container_ip';
這樣我就可以通過連接到這個容器:
mysql -h container_ip -u root -p
但我收到此錯誤
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
順便說一句,我也嘗試從WordPress的另一容器連接,但無法建立連接。這裏是docker-compose.yml
version: '2'
services:
mysqldb:
image: mysql:5.6
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- ./mysql-data:/var/lib/mysql
- ./mysql-import-data:/import-data
ports:
- "3333:3306"
blog:
image: webdevops/php-nginx:ubuntu-14.04
environment:
WEB_DOCUMENT_ROOT: /usr/share/nginx/html
volumes:
- ./blog:/usr/share/nginx/html
ports:
- "8080:80"
depends_on:
- mysqldb
- 什麼是我這個MySQL容器所犯的錯誤?我無法連接到它。
- 容器的IP每次可能更改
docker-compose up
。我如何配置它?
可能重複[Warning:mysql \ _connect():無法連接到本地MySQL服務器](http://stackoverflow.com/questions/1005485/warning-mysql-connect-cant-connect-to-local -mysql服務器) –