環境
macOS 10.13.2mysql
docker 17.12.0sql
mysql鏡像版本 5.7.21docker
確保docker運行數據庫
安裝mysql鏡像
到官網查看mysql鏡像相關信息,使用docker指令pull安裝orm
docker pull mysql:5.7.21
1
使用docker指令images查看是否安裝成功進程
初次運行鏡像
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.21it
-p 端口映射form
-e 爲設置執行時的環境變量,在這裏我設置mysql的root密碼,相關變量可參考官網test
-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運行,導出到桌面
docker exec mysql.5.7.21 /usr/bin/mysqldump -u root --password=Nzy19970502 test > ~/Desktop/test.sql 1