环境
macOS 10.13.2 docker 17.12.0 mysql镜像版本 5.7.21
确保docker运行
安装mysql镜像
到官网查看mysql镜像相关信息,使用docker指令pull安装
docker pull mysql:5.7.21
1
使用docker指令images查看是否安装成功
[1] 初次运行镜像
docker run –name mysql.5.7.21 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Nzy19970502 -d mysql:5.7.21
1 —name 为设置容器的名字,我设置为mysql.5.7.21 -p 端口映射 -e 为设置执行时的环境变量,在这里我设置mysql的root密码,相关变量可参考官网 -d 为设置镜像,镜像名:版本
完成后使用docker命令ps查看是否成功运行
docker ps
1
使用终端登录数据库
mysql -h 127.0.0.1 -P 3306 -u root
1
或
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’
1 -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) )
1 2 3 4 5 6 7
退出容器并停止
终止当前docker进程
docker stop $(docker ps –filter=ancestor=mysql:5.7.21 –format “{{.ID}}”)
1 $() 可获取一条指令的返回值,指令为获取运行镜像mysql:5.7.21容器的ID
再次运行容器
先查看有哪些已存在的容器,并使用ID启动容器
docker ps -a
1 2
启动
docker start 60a4f6de39c2
1
使用cli登录同上一节第二个指令
导出数据
导出创建的数据库test
要保持mysql运行,导出到桌面