docker入门(一)mysql

开头

首先docker技术的架构优势和用途在其他文章已经写的很完备了,我就不再赘述,本篇博客介绍docker的安装和mysql的入门安装。

安装docker

环境:CentOS7

yum install docker

等待下载安装完毕后,启动docker

service docker start
//重新启动docker
service docker restart

由于docker仓库在国外,所以我们配置国内加速器

vi  /etc/docker/daemon.json

//i进入编辑模式,添加如下json数据

{
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "live-restore": true
}

//esc :wq退出并保存

重启docker

service docker restart

显示版本号等信息即为安装成功

docker version

安装mysql

先贴出mysql镜像文档地址:https://hub.docker.com/_/mysql/

  1. 下载mysql镜像:
  sudo docker pull mysql
  1. 等待下载完以后执行
docker images

可以看见刚下载的mysql镜像
在这里插入图片描述
3. 启动MySQL

sudo docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

-name:新创建的容器名
-e:此处配置了root用户的登录密码
-p:将主机的3306端口映射到容器test-mysql的3306端口(前为主机,后为容器)
-d:创建成功后输出容器的id
末尾的mysql 为镜像的名称
在这里插入图片描述4. 连接MySQL
终于到了激动人心的测试环节
输入好ip账号密码和端口点击连接
在这里插入图片描述根据提示信息可以看到,无法加载caching_sha2_password加密插件,从MySQL8.0开始默认使用caching_sha2_password加密认证,所以我们需要更改默认的验证方式,那么有三种常见的方法:

  • 从主机进入docker容器修改MySQL中的user表内容

显然这种方式不太优雅,不做介绍。

  • 在启动docker容器时通过命令修改默认加密规则
//在最后加上它
--default-authentication-plugin=mysql_native_password
//例:
sudo docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql  --default-authentication-plugin=mysql_native_password
  • 挂载主机上的配置文件为镜像中的配置文件

推荐使用第三种方式,更为灵活。

挂载外部配置文件和数据持久化

首先在主机上创建如下的文件夹结构
在这里插入图片描述创建my.cnf配置文件

touch /docker/mysql/conf/my.cnf

在my.cnf中添加:

[mysqld]
user=mysql
character-set-server=utf8
//设置加密方式为mysql_native_password
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

执行命令

sudo docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d --privileged=true -v=/docker/mysql/conf/my.cnf:/etc/my.cnf -v=/docker/mysql/data:/var/lib/mysql mysql:5.6

–name:容器名
-e:配置参数,此处配置的是root账户的密码
-p:讲主机的3306端口映射到容器test-mysql的3306端口(前为主机,后为容器)
–privileged=true 使容器内的root账户真正拥有操作外部环境的root权限
-v=xxxxx:yyyyyy挂载本地路径或文件代替容器中的路径,xxxx为本机,yyy为容器中路径

执行完毕后我们再尝试连接
在这里插入图片描述测试成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值