docker的具名掛載和匿名掛載


一、匿名掛載

1、即不指定掛載到主機上的路徑,只指定容器內部需要掛載的目錄。

 

 

 

 

2、查看宿主機所有卷的掛載情況。

  docker volume ls

 

 圖中標記的數據卷都是匿名數據卷,因為沒有名字。

  local   2a033f3bf262662cba43289e90ce97a152e116863c77038192471a2692594fbb

 

二、具名掛載

 

1、給掛載位置添加名字,即具名掛載。

  

  指令:docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

  注意:這里 -v juming-nginx:  代表直接給定名字,但是沒有指定路徑,如果在juming-nginx前面你添加/,則代表指定路徑。

  如圖,查看數據卷一欄增加了剛剛添加的數據卷。

 

2、查看數據卷的配置信息。

    指令:docker volume inspect 數據卷id

 

   “Mountpoint”即在主機上上分配的掛載路徑。

  所有容器內的卷,在沒有指定目錄的情況下都是掛載在:/var/lib/docker/volumes/xxxx/_data  目錄下。

 

3、進入主機的卷目錄,查看數據卷的配置信息

 

 

   可以看到,容器內部映射過來的 nginx.conf 文件已經同步過來了

可以查看配置信息。命令:cat nginx.conf

 

 

 

4、通過具名掛載可以方便地找到掛載的卷,大多數情況下都是使用具名掛載的方式。

 

三、具名掛載、匿名掛載和指定路徑掛載的區別

1、

  -v 容器內部路徑                      #匿名掛載

  -v 卷名:容器內部路徑           #具名掛載

  -v /宿主機路徑:容器內部路徑    指定路徑掛載

 

2、數據卷掛載還可以賦予權限

  通過  -v 容器內路徑 :ro或rw  改變讀寫權限

  例子:

    docker run -d -P --name ningix01 -v /etc/nginx nginx:ro
  即創建的這個卷是只讀權限(read only),即容器內部職能讀取,不能修改,必須通過宿主機來進行修改。
 
  默認是rw權限,即可讀可寫。

 

  -*-本篇使用到的命令-*-

 

1、匿名掛載指令
  例子:docker run -d -P --name ningix01 -v /etc/nginx nginx
  -P 隨機映射端口
  --name 容器名字
  -v /etc/nginx,只指定容器內部需要掛在的路徑。

2、查看所有卷的掛載情況
  指令說明:

  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

  例子:docker volume ls   查看所有的數據卷
     docker volume inspect 數據卷id 查看某個數據卷的詳細配置信息


3、cat 文件名 --在終端中打開文件


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM