一:docker 持久化數(shù)據(jù)的方案:
1. 基于本地文件系統(tǒng)的volume:
可以在執(zhí)行Docker create或者Docker run 時(shí)己儒,通過(guò)-v參數(shù)將主機(jī)目錄作為容器的數(shù)據(jù)卷,這部分功能便是基于本地文件系統(tǒng)的volume管理。
2.基于pluging的volume:
支持第三方的存儲(chǔ)方案济似,比如aws
1.1 基于本地文件系統(tǒng)的volume:
1.1.1 volume類(lèi)型:
1.1.1.1 受管理的data volume
1.1.1.2 綁定掛載的volume
1.1.1.1.1創(chuàng)建一個(gè)mysql的容器并查看其對(duì)應(yīng)得存儲(chǔ)卷的信息:
docker run -d --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
1.1.1.1.2 查看當(dāng)前創(chuàng)建的mysql容器對(duì)應(yīng)的volume信息:
docker volume inspect e16c48013003ebe9133d8c298d292cfba066ccc7cac0f17a9aeb60a73a5920c7
volume1.png
1.1.1.1.3 創(chuàng)建mysql容器琐鲁,并自定義存儲(chǔ)卷名稱(chēng):
docker run -d -v /data/mysql:/var/lib/mysql --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
解釋:"/data/mysql":為主機(jī)的存儲(chǔ)目錄韩玩,"/var/lib/mysql":為mysql容器的存儲(chǔ)卷目錄
1.1.1.1.4 進(jìn)入mysql2容器
1.1.1.1.4.1 docker exec -it mysql2 /bin/bash
1.1.1.1.4.2 進(jìn)入mysql:mysql -u root
1.1.1.1.4.3 create database docker;
1.1.1.1.4.4 刪除mysql2容器: 停止容器docker stop mysql2剥槐,刪除容器docker rm mysql2
1.1.1.1.4.5 重新建一個(gè)容器慨灭,并且使用mysql2的存儲(chǔ)卷: docker run -d -v /data/mysql:/var/lib/mysql --name mysql3 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql
1.1.1.1.4.6 進(jìn)入mysql3容器朦乏,并查看數(shù)據(jù)庫(kù):(進(jìn)入容器)docker exec -it mysql3 /bin/bash (登陸mysql)mysql -u root (查看數(shù)據(jù)庫(kù))show databases;
2.png
1.1.1.2 綁定掛載的volume
1.1.1.2.1
二:更換docker 國(guó)內(nèi)鏡像地址
? 安裝完成docker后,通過(guò)docker -version 查看docker 版本
? 修改docker配置文件:vim /etc/docker/daemon.json
? 如果沒(méi)有配置文件則在文件夾/etc/docker中新建文件 touch daemon.json
? 添加內(nèi)容:
? {
? "registry-mirrors": ["https://registry.docker-cn.com"]
? }