使用docker的mysql镜像

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nzyalj/article/details/79177291

环境

  • macOS 10.13.2

  • docker 17.12.0

  • mysql镜像版本 5.7.21

确保docker运行

这里写图片描述


安装mysql镜像

官网查看mysql镜像相关信息,使用docker指令pull安装

docker pull mysql:5.7.21

使用docker指令images查看是否安装成功

[1]


初次运行镜像

docker run --name mysql.5.7.21 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Nzy19970502 -d mysql:5.7.21
  • —name 为设置容器的名字,我设置为mysql.5.7.21

  • -p 端口映射

  • -e 为设置执行时的环境变量,在这里我设置mysql的root密码,相关变量可参考官网

  • -d 为设置镜像,镜像名:版本

完成后使用docker命令ps查看是否成功运行

docker ps

这里写图片描述

使用终端登录数据库

mysql -h 127.0.0.1 -P 3306 -u root

docker run -it --link mysql.5.7.21:mysql --rm mysql:5.7.21 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -p'
  • -it 使用交互模式

  • –link 连接运行的容器 mysql.5.7.21 为之前首次运行时创建的容器名,冒号后为镜像名

输入密码,到达交互界面

这里写图片描述

创建一个数据库以及一张表

CREATE DATABASE test;
USE test;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
)

这里写图片描述


退出容器并停止

终止当前docker进程

docker stop $(docker ps --filter=ancestor=mysql:5.7.21 --format "{{.ID}}")
  • $() 可获取一条指令的返回值,指令为获取运行镜像mysql:5.7.21容器的ID

这里写图片描述


再次运行容器

先查看有哪些已存在的容器,并使用ID启动容器

docker ps -a

这里写图片描述

启动

docker start 60a4f6de39c2

使用cli登录同上一节第二个指令

这里写图片描述


导出数据

导出创建的数据库test

要保持mysql运行,导出到桌面

docker exec mysql.5.7.21 /usr/bin/mysqldump -u root --password=Nzy19970502 test > ~/Desktop/test.sql

这里写图片描述

猜你喜欢

转载自blog.csdn.net/nzyalj/article/details/79177291