Docker实例过程展示,欢迎一起学习,走进容器的世界,沙盘虚拟化技术应用。

前言

本篇文章参考资料:
《Docker应用的部署》
以下均为实际操作后得出的过程。
欢迎有兴趣的朋友留下想法或建议。

准备

部署好Docker环境的过程
Docker Centos7 安装集装箱容器记录
由于我用的centos7,目前只有centos的。
随后有机会再补充WIN版的安装记录。

开始部署MySQL

docker pull mysql 
# PULL 是从docker库里拉取镜像,只有库里有的镜像才能被直接拉取。
# 如果库里没有也可以手动上传,这个操作在我迁移节点的时候就使用过。

第二步、 查看拉取的MySQL镜像

docker images
#这个指令是查看目前docker已拉取(下载)的镜像库
#主要是看镜像的名称和编号。

第三步、创建容器

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远程登陆。

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的方法。
如果您有更好的建议,可以在下方留言。