引导在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;

外部访问

这里写图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐