Docker中容器数据持久化-数据卷的简单使用
場景
Ubuntu Server 16.04 LTS上使用Docker部署Tomcat:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/98329796
Linux上操作Docker守護(hù)態(tài)運(yùn)行:
?https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99116005
數(shù)據(jù)卷
數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,它繞過 UFS,提供很多有用的特性:
數(shù)據(jù)卷 可以在容器之間共享和重用
對(duì) 數(shù)據(jù)卷 的修改會(huì)立馬生效
對(duì) 數(shù)據(jù)卷 的更新,不會(huì)影響鏡像
數(shù)據(jù)卷 默認(rèn)會(huì)一直存在,即使容器被刪除
目的
啟動(dòng)兩個(gè)容器,讓這兩個(gè)容器使用同一個(gè)數(shù)據(jù)卷ROOT下的index.html
實(shí)現(xiàn)
來到 /usr/local/docker/tomcat目錄下,新建目錄ROOT,并進(jìn)入ROO目錄,新建index.html文件。
?
啟動(dòng)容器時(shí)并設(shè)置數(shù)據(jù)卷
docker run -p 8080:8080 --name tomcat -d -v /usr/local/docker/tomcat/ROOT:/usr/local/tomcat/webapps/ROOT tomcat注:
docker run 是啟動(dòng)容器的命令;-p代表端口號(hào)的映射;第一個(gè)8080是宿主機(jī)的端口;第二個(gè)8080是容器的端口;
--name 表示名字標(biāo)識(shí);-d 表示以守護(hù)態(tài)運(yùn)行;-v 就是表示數(shù)據(jù)卷的設(shè)置,左邊是宿主機(jī)的位置,:右邊是容器的位置,這就代表
以宿主機(jī)/usr/local/docker/tomcat/ROOT的ROOT目錄代替容器中/usr/local/tomcat/webapps/ROOT的ROOT目錄;
tomcat代表鏡像名。
?
列出容器
docker ps?
以終端交互的方式進(jìn)入容器
docker exec -it tomcat bash?
可以看到此時(shí)ROOT下已經(jīng)替換成了數(shù)據(jù)卷的內(nèi)容,輸入exit退出交互。
啟動(dòng)第二個(gè)容器
docker run -p 8081:8080 --name tomcat1 -d -v /usr/local/docker/tomcat/ROOT:/usr/local/tomcat/webapps/ROOT tomcat此時(shí)將宿主機(jī)的端口號(hào)改為8081,并將鏡像名字修改為tomcat1。
?
驗(yàn)證效果
在宿主機(jī)中打開兩個(gè)瀏覽器分別輸入
ip:8080和ip:8081
?
總結(jié)
以上是生活随笔為你收集整理的Docker中容器数据持久化-数据卷的简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker中启动、终止和删除容器命令
- 下一篇: Docker中部署项目到容器