win10-docker-mysql镜像安装运行基础
文章目录
- win10-docker-mysql镜像安装运行基础
- 一、搜索可用镜像
- 1.1 查询mysql镜像
- 1.2 确定镜像版本号
- 二、运行mysql容器
- 2.1 进入mysql
- 2.2 测试mysql是否正常
- 三、将mysql数据存储目录映射到宿主机做持久化
一、搜索可用镜像
1.1 查询mysql镜像
docker search mysql
>docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 14406 [OK]
mariadb MariaDB Server is a high performing open sou… 5500 [OK]
percona Percona Server is a fork of the MySQL relati… 619 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 854 [OK]
bitnami/mysql Bitnami MySQL Docker Image 96 [OK]
...
查找结果说明:
- NAME 镜像名
- STARS 关注度
- OFFICIAL 是否官方镜像
1.2 确定镜像版本号
因为通过 docker search 并不能查看某个镜像的版本信息,如我需要特定版本的 mysql 那怎么办呢~
- 方式 1
- 通过 Docker Hub要想查看镜像的版本和TAG,需要在 docker hub 查看
- 地址如下:https://hub.docker.com
- 进入之后,在页面左上角搜索框搜索,例如搜索mysql
- 点击查看详情
- 点击Tags,即可看见所有的版本
- 找到Tags 后,就可以根据需要的版本来下载了。如tags为5.6的版本
- 按照 Docker 的格式来拉取不同 tags 的 mysql 镜像,用冒号隔开
- docker pull mysql:5.6
- 方式 2,通过官网查看版本号信息
- 管网:https://www.mysql.com/
- 方式 3,通过尝试加版本号猜测
- 以 mysql 为例:我们从官网上知道了 mysql 有 5.6 版本 和 8.0 版本,再结合 Docker 的规则(以:分割),就可以猜测到拉取
- mysql 5.6 的命令如下:
# 拉取 mysql 最新版本镜像 ,默认tag = latest
docker pull mysql:latest
# 拉取 mysql 5.6 镜像
docker pull mysql:5.6
# 拉取 mysql 8.0 镜像
docker pull mysql:8.0
二、运行mysql容器
#首次运行
docker run -p 3306:3306 --name x_mysql_5_6 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
run命令解释:-p 3306:3306 #指定端口映射,格式为:主机(宿主)端口:容器端口--name x_mysql_5_6 #为容器指定一个名称,名字叫xxxxx;-e MYSQL_ROOT_PASSWORD=123456 #设置环境变量,参数用于设置 MySQL 的 root 用户密码-d #后台运行-v: 绑定一个卷#启动一个已停止的容器
docker start x_mysql_5_6#停止容器
docker stop x_mysql_5_6#重启容器
docker restart x_mysql_5_6#查看已运行的容器
docker ps
2.1 进入mysql
- 方法一:在docker中进入
- 打开docker选择images,查看镜像列表;
- 镜像mysql:5.6的status列点击In use进入容器列表;
- 点击刚运行的容器x_mysql_5_6,进入容器管理页;
- 点击terminal进入该容器命令行界面;
- 方法二:本机命令行进入
- 语法:docker exec [OPTIONS] Container Command [Args…]
- 执行:docker exec -it x_mysql_5_6 mysql -uroot -p
- exec命令说明:
- -it 参数用于进入容器的交互模式;
- mysql -uroot -p 需要一起看,为mysql标准命令行命令+参数,表示进入容器后执行的命令;
- 进入后可以在本地控制台中操作容器中的mysql数据库了!
- 方法三:进入容器系统控制台
- 执行:docker exec -it x_mysql_5_6 /bin/bash
2.2 测试mysql是否正常
- 执行如下命令:
- 三种登录命令,登录到mysql控制台:
- mysql -u root -p //登录到MySQL服务器
- mysql -u root -p database_name //连接到指定的MySQL数据库
- mysql -h remote_mysql_host_ip -u root -p //登录到远程MySQL服务器
- 上述三个命令执行后都需要数据库root账号的登录密码(运行时MYSQL_ROOT_PASSWORD参数指定的密码)
- 登录成功后显示:Welcome to the MySQL monitor.提示
- 执行以下命令
- show databases; //查看所有数据库名
- use mysql; //使用mysql库
- show tables; //查看库中的所有表名
- 退出执行:exit 或 ctrl+c
- 三种登录命令,登录到mysql控制台:
三、将mysql数据存储目录映射到宿主机做持久化
对已经运行的容器更改目录映射不太方便,这里采用删除重新运行的方式;
- 容器名:x_mysql_5_6;
- 宿主机目录:D:\docker\x_mysql_5_6\data
- 映射命令:-v D:\docker\x_mysql_5_6\data:/var/lib/mysql
- /var/lib/mysql为容器的默认数据目录
#停止容器
docker stop x_mysql_5_6
#产品容器状态
docker ps -a
#删除容器
docker rm -f x_mysql_5_6
#重新运行容器
docker run -d -p 3306:3306 --name x_mysql_5_6 -e MYSQL_ROOT_PASSWORD=123456 -v D:\docker\x_mysql_5_6\data:/var/lib/mysql mysql:5.6