【发布时间】:2015-10-21 11:56:04
【问题描述】:
我使用官方 mysql 5.5 docker 作为数据库容器。 第一个拉容器:
docker pull mysql:5.5
然后我运行:
docker run --name mysqldb -e MYSQL_ROOT_PASSWORD=testword mysql:5.5
运行成功,ip为172.17.0.20的容器mysqldb。我可以通过这个访问这个mysqldb:
mysql -h 172.17.0.20 -u root -p # this command from 172.17.0.23
输入密码,然后我得到这个:
mysql>
这是对官方mysql的测试。我可以从远程主机/容器访问 mysqldb。 然后我想使用主机目录(存储一些数据库)所以我这样做:
docker run --name mysqldb_with_data -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=testword mysql:5.5
它运行成功。但是当我想用 ip 172.17.0.21 访问这个 mysqldb_with_data 容器时,我遇到了一个错误:
mysql -h 172.17.0.251 -u root -p # this command from 172.17.0.23
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'172.17.0.23' (using password: YES)
我只是用主机数据来替换mysql容器的数据,但是我无法从远程主机/容器访问mysqldb。不知道为什么。
【问题讨论】: