使用docker安装mysql
- 时间:
- 浏览:404
- 来源:成都艾邦软件开发
1、系统环境
宿主系统Windows 10专业版
虚拟机 VMware Workstation Pro 12.5.4
操作系统Ubuntu 18.4.1 64位
2、查找镜像
sudo docker search mysql
根据查找出来的镜像选择合适的版本进行安装。
安装前首先创建一个工作目录为后面的挂在自定义配置文件日志文件等做准备
sudo mkdir -p /usr/mysql/confsudo mkdir -p /usr/mysql/logssudo mkdir -p /usr/mysql/data
3、拉取镜像
sudo docker pull centos/mysql-57-centos7
查看镜像是否拉取成功
4、创建容器并运行
sudo docker run -p 3306:3306 --name mysql -v /usr/mysql/conf:/etc/my.cnf.d -v /usr/mysql/logs:/logs -v /usr/mysql/data:/var/lib/mysql/data -e MYSQL_ROOT_PASSWORDroot -d centos/mysql-57-centos7
查看容器是否运行
运行参数说明
- -p表示端口映射冒号左面的是宿主机的端口而右侧则表示的是MySQL容器内的端口
- --name给MySQL容器取的名字
- -d表示后台运行
- -e MYSQL_ROOT_PASSWORD设置root用户密码
- -v表示挂载路径冒号左面的表示宿主机的挂载目录冒号右边则表示容器内部的路径。
5、允许外网访问
进入容器
sudo docker exec -it mysql /bin/bash
进入容器后按顺序执行如下命令
1、进入MySQL
mysql -uroot -p
2、授权
mysql GRANT ALL ON *.* TO root%;
3、刷新权限
mysql flush privileges;
4、更新root用户密码
mysql UPDATE user SET authentication_stringpassword(新密码) WHERE userroot;
5、刷新权限
mysql flush privileges;
Docker官方解释的很高大上一般初次接触看不怎么明白下面我用方言介绍下docker就像一个大仓库仓库里有许许多多的配置好的工具镜像比如mysql、activemq、zookeeper等等你可以去拉取你需要的工具然后运行他们就OK了。就这么简单比如大家都都使用过的Mysql如果需要安装的话首先我们要下载安装包然后一步一步下一步的去安装安装完可能还要配置些什么万一在安装过程中出点什么问题弄了半天安装失败是不是很悲催使用Docker 第一步拉取mysql第二步开启mysql,就这样完了简单吧。下面我们就来说下Docker的安装与使用吧。
一Docker的安装这里给出了官方的安装方式就不在赘述。
/engine/installation/linux/docker-ce/ubuntu/#install-docker-ce-1
二docker的官方仓库/explore/
2.1官方仓库有很多各种各样的工具下图中红色圈住的就是获取Mysql的命令我们在Linux输入这条命令就可以下载到Mysql的镜像。
2.2第二种获取镜像方式使用 docker search 命令可以直接搜索你想要的镜像。
2.3使用 docker pull 命令下载镜像由于已经安装mysql就以redis为例
2.4使用 docker images 查看下载镜像列表
REPOSITORY:镜像名称 TAG:镜像标签(最新) IMAGE ID:镜像ID唯一标识 CREATED:创建时间 SIZE:镜像大小
2.5使用 docker run 启动镜像以Mysql为例出现下方字符串启动成功
# docker run --name mysql -p 3306:3306 -v /mysql/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 -d mysql787b06122b723e547b1216d499b69d99725a703217cd09f49e9ce548f9ba27dc
--name: 以什么名字启动容器 -p 3306:3306 :将容器端口映射到服务器端口
-v /mysql/datadir:/var/lib/mysql :将mysql的配置路径映射到本地datadir上
-e MYSQL_ROOT_PASSWORD123456 :设置服务器密码为123456
-d mysql需要启动的容器的名称
2.5使用 docker ps 查看镜像启动情况如下图可以看到mysql已经起来了。
2.6使用 docker stop 关闭镜像返回镜像名就是完成了。stop后既可以跟镜像名称也可以跟镜像的ID.
# docker stop mysqlmysql
2.7使用 docker ps -a 查看容器状态如图mysql已经退出