欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker中容器數(shù)據(jù)卷詳解

 更新時(shí)間:2022年11月17日 08:25:22   作者:甜點(diǎn)cc  
這篇文章主要介紹了Docker中容器數(shù)據(jù)卷詳解的相關(guān)資料,需要的朋友可以參考下

什么是容器數(shù)據(jù)卷

從docker的理念說起,docker將應(yīng)用和環(huán)境打包成一個鏡像,運(yùn)行鏡像(生成容器)就可以訪問服務(wù)了。

如果數(shù)據(jù)都存在容器中,那么刪除容器,數(shù)據(jù)就會丟失!需求:數(shù)據(jù)可以持久化 MySQL容器刪了,就相當(dāng)于刪庫了。需求:MySQL數(shù)據(jù)可以本地存儲

容器之間可以有一個數(shù)據(jù)共享的技術(shù),docker容器產(chǎn)生的數(shù)據(jù)同步到本地或者別的地方。

這就是數(shù)據(jù)卷技術(shù),就是目錄掛載,將容器內(nèi)的目錄,掛載到虛擬機(jī)上或者Linux上

目的:實(shí)現(xiàn)容器數(shù)據(jù)的持久化和同步操作。容器間也可以數(shù)據(jù)共享

數(shù)據(jù)的覆蓋問題

如果掛載一個空的數(shù)據(jù)卷到容器中的一個非空目錄中,那么這個目錄下的文件會被復(fù)制到數(shù)據(jù)卷中。

如果掛載一個非空的數(shù)據(jù)卷到容器中的一個目錄中,那么容器中的目錄中會顯示數(shù)據(jù)卷中的數(shù)據(jù)。如果原來容器中的目錄中有數(shù)據(jù),那么這些原始數(shù)據(jù)會被隱藏掉。

這兩個規(guī)則都非常重要,靈活利用第一個規(guī)則可以幫助我們初始化數(shù)據(jù)卷中的內(nèi)容。掌握第二個規(guī)則可以保證掛載數(shù)據(jù)卷后的數(shù)據(jù)總是你期望的結(jié)果。

使用數(shù)據(jù)卷

方式一:直接使用命令掛載 -v

docker run -it -v 主機(jī)目錄:容器內(nèi)目錄

docker run -it -v /home/test:/home centos /bin/bash

docker inspect 命令查看容器信息

測試掛載卷

1、在容器內(nèi)部修改文件同步到Linux主機(jī)上

進(jìn)入容器,在/home目錄下創(chuàng)建123.sh文件

主機(jī)內(nèi)可以查看在容器內(nèi)部創(chuàng)建的文件

2、同樣地,在Linux上修改掛在卷文件可以同步到容器內(nèi)部

3、停止容器,修改Linux主機(jī)上的文件,同步到容器內(nèi)

# 1、停止容器
exit

# 2、查看容器是否還在運(yùn)行
docker ps

# 3、在Linux主機(jī)上修改對應(yīng)目錄的文件

# 4、啟動容器并查看
  
  # 4.1、 查看歷史運(yùn)行的容器
  docker ps -a
  
  # 4.2、 啟動容器
  docker start CONTAINER ID
  
  # 4.3、 進(jìn)去容器
  docker attach CONTAINER ID
  
  # 4.4、 查看數(shù)據(jù)卷文件

方式二:Dockerfile文件

請查看下一章節(jié)

數(shù)據(jù)卷命令

docker volume

docker volume --help
Usage:  docker volume COMMAND
Manage volumes
Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove all unused local volumes
  rm          Remove one or more volumes

Run 'docker volume COMMAND --help' for more information on a command.

具名掛載/匿名掛載 匿名掛載

-v 容器內(nèi)路徑
-P 自動分配端口號

docker run -d -P --name nginx02 -v /etc/nginx nginx

具名掛載

-v 卷名:容器內(nèi)路徑
docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx nginx

查看數(shù)據(jù)卷

方式一:docker inspect 容器ID

方式二:docker volume inspect juming-nginx

查看Linux主機(jī)docker工作目錄 /var/lib/docker

所有docker容器內(nèi)的卷,沒有指定目錄的情況下都是存放在 /var/lib/docker/volumes/xxx/_data 目錄下

掛載三種方式

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

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

# 3
-v 宿主機(jī)路徑:容器內(nèi)路徑 # 指定路徑掛載

擴(kuò)展

給掛載的數(shù)據(jù)卷增加讀寫權(quán)限控制

通過 -v 容器內(nèi)路徑, ro rw 改變讀寫權(quán)限

ro readonly 只讀

rw readwrite 可讀寫

# 一旦設(shè)置了容器權(quán)限,容器對我們掛載出來的內(nèi)容就有限定了

docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:rw nginx

ro : 說明這個路徑只能通過宿主機(jī)來操作,容器內(nèi)無法操作

到此這篇關(guān)于Docker中容器數(shù)據(jù)卷詳解的文章就介紹到這了,更多相關(guān)Docker容器數(shù)據(jù)卷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker容器中運(yùn)行flume及啟動不輸出運(yùn)行日志問題

    Docker容器中運(yùn)行flume及啟動不輸出運(yùn)行日志問題

    這篇文章主要介紹了 Docker容器中運(yùn)行flume及啟動不輸出運(yùn)行日志問題及解決方法,需要的朋友參考下吧
    2018-03-03
  • win10家庭版安裝Docker的方法步驟

    win10家庭版安裝Docker的方法步驟

    這篇文章主要介紹了win10家庭版安裝Docker的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 詳解Docker守護(hù)進(jìn)程的配置及日志

    詳解Docker守護(hù)進(jìn)程的配置及日志

    這篇文章主要介紹了詳解Docker守護(hù)進(jìn)程的配置及日志,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker-compose安裝及執(zhí)行命令

    docker-compose安裝及執(zhí)行命令

    Docker Compose是一個用來定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具,這篇文章主要介紹了docker-compose安裝方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • 詳解Docker Registry之刪除鏡像、垃圾回收

    詳解Docker Registry之刪除鏡像、垃圾回收

    本篇文章主要介紹了詳解Docker Registry之刪除鏡像、垃圾回收,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Docker創(chuàng)建一個mysql容器并保存為本地鏡像

    Docker創(chuàng)建一個mysql容器并保存為本地鏡像

    本篇文章主要介紹了Docker創(chuàng)建一個mysql容器并保存為本地鏡像 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 在docker中配置Oracle11g的過程

    在docker中配置Oracle11g的過程

    這篇文章主要介紹了在docker中配置Oracle11g?,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 遷移Docker中MySQL容器的全過程

    遷移Docker中MySQL容器的全過程

    在這篇文章中,我們將介紹如何將在 Docker 中運(yùn)行的 MySQL 容器從一臺機(jī)器(我們稱之為A機(jī)器)遷移到另一臺機(jī)器(我們稱之為B機(jī)器),這個過程主要包括五個步驟:提交容器為鏡像,保存鏡像為 tar 包等,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • docker network create命令的具體使用

    docker network create命令的具體使用

    docker network create命令用于創(chuàng)建一個新的網(wǎng)絡(luò)連接,本文就來詳細(xì)的介紹一下docker network create命令的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 深入理解docker容器中的uid和gid

    深入理解docker容器中的uid和gid

    這篇文章主要介紹了深入理解docker容器中的uid和gid,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論