Docker实例过程展示,欢迎一起学习,走进容器的世界,沙盘虚拟化技术应用。
前言本篇文章参考资料:
《Docker应用的部署》
以下均为实际操作后得出的过程。
欢迎有兴趣的朋友留下想法或建议。
准备部署好Docker环境的过程
Docker Centos7 安装集装箱容器记录
由于我用的centos7,目前只有centos的。
随后有机会再补充WIN版的安装记录。
开始部署MySQL### 第一步、拉取MySQL镜像
```d
docker pull mysql
# PULL 是从docker库里拉取镜像,只有库里有的镜像才能被直接拉取。
# 如果库里没有也可以手动上传,这个操作在我迁移节点的时候就使用过。
```
### 第二步、 查看拉取的MySQL镜像
```d
docker images
#这个指令是查看目前docker已拉取(下载)的镜像库
#主要是看镜像的名称和编号。
```
### 第三步、创建容器
```d
docker run -di --name pinyougou_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
# -p 代表端口映射,格式为 宿主机映射端口:容器运行端口
# -e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root登陆密码
```
这个时候MySQL数据库已部署好
链接地址就是宿主机的IP+端口
## 配置MySQL数据库
我一般用Navicat管理数据库,所以需要开启MySQL远程登陆。
```d
docker exec -it pinyougou_mysql /bin/bash
# 登陆mysql
mysql -u root -p
#启用远程登陆功能
###由于我用Navicat,远程连接docker容器中的mysql会报错
#1251 Client does not support... 解决办法
mysql> status;
# 查看mysql的版本
# 系统返回信息
# mysql Ver 8.0.11 for Linux on x86_64等
# mysql 8.0跟之前的授权指令有变化
GRANT ALL ON *.* TO 'root'@'%';
#授权root登陆权限
flush privileges
#刷新权限
#此时,还不能远程访问,Navicat只支持旧版本的加密,需改mysql的加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 重新设定root密码
# 这里设定的就是“123456”
flush privileges;
# 刷新权限
# Navicat可以正常链接数据库
```
现在就可以开心的使用啦!
以上是我利用Docker部署MySQL的方法。