最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker如何掛載mysql

 更新時(shí)間:2023年03月07日 15:38:17   作者:MinggeQingchun  
這篇文章主要介紹了Docker如何掛載mysql問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Docker掛載mysql

我們?cè)赩Mware上的Linux系統(tǒng)上安裝啟動(dòng)mysql服務(wù)后,可以在本機(jī)Windows系統(tǒng)上通過(guò)Navicat遠(yuǎn)程訪問(wèn),可以進(jìn)行數(shù)據(jù)庫(kù)表的增刪改查,但是會(huì)存在一個(gè)問(wèn)題

此時(shí)如果通過(guò)docker關(guān)閉MySQL容器,就會(huì)導(dǎo)致數(shù)據(jù)丟失(可以理解為數(shù)據(jù)庫(kù)中的提交事務(wù),未提交事務(wù)會(huì)導(dǎo)致數(shù)據(jù)沒(méi)保存成功 ),因此修改容器之后需要保存或者掛載mysql數(shù)據(jù)庫(kù)

1.下載鏡像

# 最新版本
docker pull mysql
 
# 如 5.7 版本 本文基于5.7版本
docker pull mysql:5.7

2.啟動(dòng)mysql容器

# 運(yùn)行mysql命名容器名稱為mysql并且設(shè)置root賬號(hào)初始密碼為root
docker run  -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD="root" -d mysql:5.7

3.確定mysql配置文件路徑

#進(jìn)入docker容器,mysql為剛安裝的容器名稱
docker exec -it mysql或者mysql容器ID /bin/bash
 
# 查找Docker內(nèi),MySQL配置文件my.cnf的位置
mysql --help | grep my.cnf
 
# 會(huì)輸出數(shù)據(jù)文件的存放路徑 /var/lib/mysql/
show variables like '%datadir%';

4.創(chuàng)建本地路徑并掛載Docker內(nèi)數(shù)據(jù)

拷貝MySQL容器配置文件

mkdir -p /usr/local/mysql/conf && mkdir -p /usr/local/mysql/data
 
# 將容器的配置復(fù)制到服務(wù)器
docker cp mysql:/etc/mysql/* /usr/local/mysql/conf/
或
docker cp mysql:/etc/mysql/. /usr/local/mysql/conf/
 
# 修改字符集
vim /usr/local/mysql/conf/my.cnf
character-set-server=utf8

如果遇到如下錯(cuò)誤:

/usr/bin/docker-current:Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/1b1d4a0234ee4caxxxxx/merged: invalid argument.
 
See '/usr/bin/docker-current run --help'.

這個(gè)是因?yàn)橛玫膐verlay2文件系統(tǒng),而系統(tǒng)默認(rèn)只能識(shí)別overlay文件系統(tǒng),更新文件系統(tǒng)即可

systemctl stop docker ? ? ?//停掉docker服務(wù)

rm -rf /var/lib/docker ? ? ? ?//注意會(huì)清掉docker images的鏡像

vim /etc/sysconfig/docker-storage ? ? ?

//將文件里的overlay2改成overlay即可

如:DOCKER_STORAGE_OPTIONS="--storage-driver overlay"

vim /etc/sysconfig/docker ? ? ? ? //去掉option后面的--selinux-enabled

然后啟動(dòng)docker即可:systemctl start docker

5.重新啟動(dòng)mysql容器

docker stop mysql
 
docker rm mysql
 
docker run --name mysql \
-p 3306:3306 \
-v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/mysql/data:/var/lib/mysql \  
-v /usr/local/mysql/log:/logs \
-e MYSQL_ROOT_PASSWORD=admin123456 \
--restart=always \
-d mysql:5.7
 
docker run --name mysql -p 3306:3306 -v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/log:/logs -e MYSQL_ROOT_PASSWORD=admin123456 --restart=always -d mysql

映射MySQL數(shù)據(jù)文件后,刪除或者停止mysql容器后能保留數(shù)據(jù)庫(kù)文件,不至于導(dǎo)致數(shù)據(jù)庫(kù)丟失

初識(shí)Docker掛載mysql掛載備份

首先下載一個(gè)mysql:docker pull mysql

運(yùn)行mysql容器,需要做數(shù)據(jù)掛載(掛載就是將mysql中的文件,掛載到linux中,下次修改mysql配置文件,就不需要進(jìn)入mysql,也可以備份mysql的數(shù)據(jù)):##安裝啟動(dòng)mysql,需要配置密碼:

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=自己設(shè)置的密碼 --name mysql01 mysql
  • -d 后臺(tái)啟動(dòng)
  • -p 端口映射,將3306映射到外部端口
  • -v 卷掛載,將mysql內(nèi)部文件同步到linux的文件中,做到備份
  • -e 環(huán)境配置,這里配置的是mysql密碼
  • --name 容器名稱

掛載方式有具名掛載和匿名掛載

#查看所有volume(卷掛載)的情況 :docker volume ls

#匿名掛載:-v 容器內(nèi)路徑

docker run -d -P --name mysql01 -v /etc/mysql mysql

(-P 隨機(jī)映射端口)

#具名掛載:

docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql mysql

(具名掛載名稱:juming-mysql)

#通過(guò) -v 卷名:容器內(nèi)路徑

#查看一下這個(gè)卷:

docker volume inspect juming-mysql

在這里插入圖片描述

#所有的docker容器卷,在沒(méi)有指定目錄的情況下,都存儲(chǔ)在 /var/lib/docker/volumes/xxx/_data

**如何確定是具名掛載還是匿名掛載,還是指定路徑掛載!**
				
	-v 容器內(nèi)路徑		#匿名掛載
	-v 卷名:容器內(nèi)路徑		#具名掛載
	-v /宿主機(jī)路徑:容器內(nèi)路徑		#指定路徑掛載

拓展

#通過(guò) -v 容器內(nèi)路徑:ro	rw	改變讀寫權(quán)限
ro	readonly	#只讀
rw	readwrite	#可讀可寫

#一旦設(shè)置了容器權(quán)限,容器對(duì)我們掛載出來(lái)的內(nèi)容就有限定
docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql:ro mysql
docker run -d -P --name mysql02 -v juming-mysql:/etc/mysql:rw mysql

#ro,只要看到ro就說(shuō)明這個(gè)路徑只能通過(guò)宿主機(jī)操作,容器內(nèi)部是無(wú)法操作的!

在測(cè)試的時(shí)候發(fā)現(xiàn),如果一個(gè)文件名,如juming-mysql掛載過(guò)一次,刪除容器后,再使用這個(gè)名字時(shí),會(huì)無(wú)法掛載上,原因是docker 里面的volumes緩存沒(méi)有清除:

可以使用 docker --help 可以看到命令

在這里插入圖片描述

再使用:docker system --help

在這里插入圖片描述

這個(gè)就是docker清理volumes緩存的選項(xiàng),輸入docker system prune 確定時(shí)輸入y,即可刪除 掛載緩存

在這里插入圖片描述

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux下使用Docker部署MinIO存儲(chǔ)服務(wù)實(shí)現(xiàn)遠(yuǎn)程上傳的方法

    Linux下使用Docker部署MinIO存儲(chǔ)服務(wù)實(shí)現(xiàn)遠(yuǎn)程上傳的方法

    MinIO是一個(gè)開源的對(duì)象存儲(chǔ)服務(wù)器,可以在各種環(huán)境中運(yùn)行,例如本地、Docker容器、Kubernetes集群等,本文主要是Linux下通過(guò)Docker部署MinIO存儲(chǔ)服務(wù)實(shí)現(xiàn)遠(yuǎn)程上傳的文章,感興趣的朋友一起看看吧
    2023-11-11
  • Docker無(wú)法stop或者rm指定容器問(wèn)題解決方案

    Docker無(wú)法stop或者rm指定容器問(wèn)題解決方案

    這篇文章主要介紹了Docker無(wú)法stop或者rm指定容器問(wèn)題解決方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 詳解給Ocelot做一個(gè)Docker鏡像

    詳解給Ocelot做一個(gè)Docker鏡像

    這篇文章主要介紹了詳解給Ocelot做一個(gè)Docker鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 詳解Docker中VLAN網(wǎng)絡(luò)模式的配置

    詳解Docker中VLAN網(wǎng)絡(luò)模式的配置

    在Docker應(yīng)用到生產(chǎn)環(huán)境的時(shí)候包括了原生Bridge NAT模式、LinuxBridge VLAN模式以及利用第三方的網(wǎng)絡(luò)方案這三種,這篇文章給大家詳細(xì)介紹了Docker中VLAN網(wǎng)絡(luò)模式的配置,有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Docker容器實(shí)戰(zhàn)之鏡像倉(cāng)庫(kù)

    Docker容器實(shí)戰(zhàn)之鏡像倉(cāng)庫(kù)

    這篇文章主要介紹了Docker容器實(shí)戰(zhàn)之鏡像倉(cāng)庫(kù),文章通過(guò)Docker?Hub為例,講解關(guān)于鏡像倉(cāng)庫(kù)的使用,需要的小伙伴可以參考一下
    2022-05-05
  • Docker進(jìn)階之快速擴(kuò)容的方法

    Docker進(jìn)階之快速擴(kuò)容的方法

    這篇文章主要介紹了Docker進(jìn)階之快速擴(kuò)容的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Docker鏡像如何移動(dòng)或復(fù)制到另一臺(tái)服務(wù)器

    Docker鏡像如何移動(dòng)或復(fù)制到另一臺(tái)服務(wù)器

    文章介紹了如何在不同服務(wù)器之間移動(dòng)或復(fù)制Docker鏡像,包括使用dockersave和dockerload、DockerRegistry、以及dockerexport和dockerimport命令的方法
    2025-02-02
  • Docker安裝wordpress并配置數(shù)據(jù)庫(kù)超詳細(xì)介紹版

    Docker安裝wordpress并配置數(shù)據(jù)庫(kù)超詳細(xì)介紹版

    安裝WordPress是一項(xiàng)常見的任務(wù),使用Docker可以使這個(gè)過(guò)程更加簡(jiǎn)單和可靠,下面這篇文章主要給大家介紹了關(guān)于Docker安裝wordpress并配置數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • docker環(huán)境下分布式運(yùn)行jmeter的教程詳解

    docker環(huán)境下分布式運(yùn)行jmeter的教程詳解

    這篇文章主要介紹了docker環(huán)境下分布式運(yùn)行jmeter的教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Docker ps命令詳解

    Docker ps命令詳解

    Docker ps是用于查看Docker服務(wù)器中容器狀態(tài)(運(yùn)行/暫停/停止),及批量獲取容器基本信息最常用的指令,ps命令具有很多可用的參數(shù),本文給大家介紹Docker ps命令,感興趣的朋友一起看看吧
    2023-11-11

最新評(píng)論

肥东县| 五华县| 隆化县| 常山县| 射洪县| 同江市| 神木县| 萍乡市| 昌乐县| 岳普湖县| 奇台县| 云南省| 阿尔山市| 清丰县| 邛崃市| 涟水县| 长海县| 仁化县| 鄯善县| 兰西县| 富宁县| 辽阳县| 报价| 汉沽区| 景泰县| 景泰县| 永嘉县| 通山县| 河北区| 望江县| 黄陵县| 武鸣县| 万全县| 昌平区| 叙永县| 自治县| 德化县| 延津县| 剑川县| 庆阳市| 定兴县|