构建容器
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
–name 指定容器名称
-p 参数将容器内的3306端口与本地3306接口映射
-e 添加了一个环境变量MYSQL_ROOT_PASSWORD,该变量定义的为root密码
配置外部ip访问权限
当前数据库已经在容器中运行起来了,但外部依然无法访问,因为需要配置外部ip的访问权限;
docker exec -it hnister-mysql /bin/bash
进入该容器,并配置mysql权限
# 登陆mysql
mysql -uroot -pmy-secret-pw
# 进入以后use mysql数据库:
mysql> use mysql;
# 添加root用户可以远程访问 末尾password改为你的外部访问密码
mysql> grant all privileges on *.* to 'root'@'%' identified by 'password';
mysql> update `mysql`.`user` set `Grant_priv` = 'Y' where `user` = 'root';
mysql> delete from user where user='root' and host='localhost';
mysql> flush privileges;