柚子快報(bào)激活碼778899分享:Docker學(xué)習(xí)筆記9
柚子快報(bào)激活碼778899分享:Docker學(xué)習(xí)筆記9
容器使用Docker Host做數(shù)據(jù)存儲(chǔ):
容器來(lái)做數(shù)據(jù)的存儲(chǔ)。清除了容器,保存在容器的數(shù)據(jù)就會(huì)丟失,所以容器不適合做數(shù)據(jù)的持久化。
-v --volume list:? Bind Mount a volume 綁定掛載一個(gè)卷。
把數(shù)據(jù)保存到真實(shí)機(jī)上,就能做到持久化。
第一步:在容器主機(jī)上創(chuàng)建用于存儲(chǔ)目錄:
mkdir /opt/cvolume
第二步:運(yùn)行容器并掛載上述目錄:
docker run -it -v /opt/cvolume:/data --name c102 centos:latest /bin/bash
1)-v 前面是容器主機(jī)的目錄,后面是容器里的目錄。
2)容器目錄/data是在運(yùn)行容器的時(shí)候自動(dòng)創(chuàng)建的,不需要預(yù)先在鏡像中創(chuàng)建該目錄。
第三步:在/opt/cvolume目錄中創(chuàng)建123.txt文件,那么使用docker attach c102命令進(jìn)入到容器,然后在/data目錄下檢查,可以看到123.txt文件已經(jīng)存在。
-v選項(xiàng),把容器的文件保存到本地,把真實(shí)機(jī)的目錄掛載到容器中。
案例:
運(yùn)行在容器中的http服務(wù),使用docker host的/web目錄中的網(wǎng)頁(yè)文件,并能夠在docker host上進(jìn)行修改后,立刻生效。
第一步:
在宿主機(jī)上創(chuàng)建/web目錄,并添加網(wǎng)頁(yè)文件。
mkdir /web
echo "web" > /web/index.html
第二步:?jiǎn)?dòng)容器對(duì)/web目錄進(jìn)行掛載
docker run -it -p 8080:80 -v /web:/var/www/html centos:latest /bin/bash
# 在容器中
ls /var/www/html
第三步:?jiǎn)?dòng)http服務(wù)
yum install -y httpd
httpd -k start
第四步:驗(yàn)證:
# 在容器中
curl http://localhost
# 在容器主機(jī)中
curl http://localhost:8080
在工作中,解決MySQL數(shù)據(jù)目錄沒有正確映射到宿主機(jī)的問(wèn)題。
備份數(shù)據(jù):mysqldump
停止mysql原來(lái)的容器
docker stop mysql
備份數(shù)據(jù)(數(shù)據(jù)目錄的拷貝)
docker cp
啟動(dòng)mysql的新容器
docker run
刪除mysql舊容器(可選)
柚子快報(bào)激活碼778899分享:Docker學(xué)習(xí)筆記9
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。