开发者学堂课程【Docker 快速入门:Docker 安装 MySQL】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/850/detail/14053
Docker 安装 MySQL
内容介绍:
一、总体步骤
二、安装 tomcat
三、安装 MySQL
上节课我们通过自己手写的 DockerFlie 编写了 mysentos 和 tomcat9。我们来看怎样从阿里云上拉取对应的镜像,进行本地的安装。现在直接安装 Docker,将本地镜像发布到阿里云,在 Docker 上进行配置即可。
一、总体步骤
1.搜索镜像
2.拉取镜像
3.查看镜像
4.启动镜像
5.停止容器
6.移除容器
二、安装 tomcat
1.docker hub上面查找 tomcat 镜像
2.从 docker hub上拉取 tomcat 镜像到本地
官网命令,拉取完成
3.docker images 查看是否有拉取到的 tomcat
4.使用 tomcat 镜像创建容器(也叫运行镜像)
Docker run -it -p 8080:8080 tomcat(-p 主机端口:docker 容器端口;-P:随机分配端口;i:交互;t:终端)
三、安装 MySQL
Docker hub上 没有 MySQL 的镜像
1.Docker hub 上面查找 MySQL 镜像
2.使用 pull 指令,从 Docker hub 上(阿里云加速器)拉取 MySQL 镜像到本地标签为5.6
当然,如果想变成5.7版本的话,修改 ID 即可。现在我们来演示一下,以下就是镜像名加冒号加 tag 标签。
下载完成之后,此时 Docker images 就是 MySQL 就是5.6的版本。
3.使用 MySQL5.6 镜像创建容器(也叫运行镜像)
(1)使用 MySQL 镜像
Docker run -p 12345:3306--name mysql
-v/zzyyuse/mysql/conf:/etc/mysql/conf.d
-v/zzyyuse/mysql/logs:/logs
-v/zzyyuse/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD= 123456
-d mysql:5.6
命令说明:
-p 12345:3306:将主机的12345端口映射到 doc er 容器的3306端口
--name mysql:运行服务名字
-v/zzyyuse/mysql/conf:/etc/mysql/conf.d:
将主机 /zzyyuse/mysql 录下的 conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
-v/zzyyuse/mysql/logs:/logs :将主机 /zzyyuse/mysql 目录下的 logs 目录挂载到容器的 /logs
-v/zzyyuse/mysql/data:/var/lib/mysql:
将主机 /zzyyuse/mysql 目录下的 data 目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD= 123456:初始化 root 用户的密码
-d mysql:5.6: 后台程序运行 mysql5.6
下面来执行一下,先停掉一个 myt9,确保没有任何容器运行。
因为之前运行过一个,会发生冲突。需要将之前运行的删掉,此时就运行成功。
如果需要交互运行,使用 Docker exec -it MySQL 运行成功后的容器ID /bin/bash,如下图。
但是它不支持 ps -ef,此时就进入了 docker 的容器里面。
在其中插入(1,Java)这本书。使表格中就有(1,Java)这本书
(2)外部 Win10(宿主机)也来连接运行在 Docker 上的 MySQL 服务
先来看看终端 IP,现在是202.135
再来看 MySQL YNG,可以自己先新建一个链接,输入主机地址、户名、密码端口、再连接。
在135下边的表中,打开 t_book,输入1,java,2和 oracle。保存之后刷新异常,就在外面插入2号数据。
此时在 Docker 中就显示出来。这时就完成了 Docker 上边简单地安装了一个MySQL 并用外部的机器连接。
(3)数据备份小测试(可以不做)
Docker exec myql 服务容器 ID sh-c’exec mysqldump --all-database-uroot-p”123456”’>/zzyyuse/ all-databases.sql
先看 docker ps 中 MySQL 现在是活着的,将以上的命令粘贴。用 Docker 来执行这个容器,这个容器中装了一个 MySQL。执行 MySQL 的 dump,所有的数据库按照用户名和密码,导出到 /zzyyuse/ all-databases.sql 这个路径下边。
下面我们来执行,
All.databases.sql 中,它是将数据库备份出来。在别的程序中一执行,数据就会自动备份。