Docker 构建Mysql容器并对外提供服务

构建容器

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;

 

你可能感兴趣的:(docker)