1. 程式人生 > >使用docker的mysql映象

使用docker的mysql映象

環境

  • 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

這裡寫圖片描述