日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

docker的具名掛載與匿名掛載實現(xiàn)_docker

作者:思誠代碼塊 ? 更新時間: 2022-05-16 編程語言

大家好,今天我們分享一下docker 的具名掛載與匿名掛載

以這條命令舉例

[root@localhost ~]# docker run -d -P --name nginx02  -v /etc/nginx/  nginx
d8e9b9084cf884e7e0d11c560c3f50d94f2d4a2d9c77fccb3f52b5cfd8e55392
[root@localhost ~]# 

這里我們就沒有給它指定端口: 它對應(yīng)的外網(wǎng)端口是隨即的

查看一下正在運行的容器:

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                     NAMES
d8e9b9084cf8   nginx          "/docker-entrypoint.…"   11 minutes ago   Up 11 minutes   0.0.0.0:49153->80/tcp, :::49153->80/tcp   nginx02
6d6fa6a4c6d7   5d0da3dc9764   "/bin/bash"              32 hours ago     Up 32 hours                                               nice_panini
[root@localhost ~]# 

對應(yīng)的外網(wǎng)端口是49153

我們可以使用瀏覽器上訪問:http://192.168.1.12:49153

在這里插入圖片描述

這是docker數(shù)據(jù)卷命令的幫助:

[root@localhost ~]# 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.

這些都是匿名的掛載 ,因為沒有給它起名字

DRIVER    VOLUME NAME
local     3f0cc224bb62dceae38c25d6eaee76512b39ec786590099f4b2930674640756f
local     8e16818bb95e740e59e5ef920e54751eb64db44f4cf43841a9c45aa6ad6646cc
local     686e9b7764c19581aea3107940fc28c68121759ce28b31fabc0fce00659ff7ca
local     882c0d1810e3ac6fddabcff2c65f1022605f450a6c49504edf57e78de14da1e5
local     1490f17c760b935d926fb1fedc7de4e0e07f1084fcf8c769c672d50f43757f8f
local     471762be4837d40ad175b7cfe74b81a51b4b3e752cb6f15e7e79d09ffc5f65fc
local     af4dc486d8335ec0e524c0e30a0ae037ef05dfa7a4ed3e4e0dd59954c5084a9e
local     c26b0f08ebdb140d91cb450313e9e314239c1c3553a612e6534154006aa19744
local     c52728c97a7ee672216ccb2d4392fa83bc480dd9646ddb5577e1124eb98e15b6

這里寫一個具名掛載

[root@localhost ~]# docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx 

看最后的一行,就是具名掛載

[root@localhost ~]# docker volume ls
DRIVER    VOLUME NAME
local     3f0cc224bb62dceae38c25d6eaee76512b39ec786590099f4b2930674640756f
local     8e16818bb95e740e59e5ef920e54751eb64db44f4cf43841a9c45aa6ad6646cc
local     686e9b7764c19581aea3107940fc28c68121759ce28b31fabc0fce00659ff7ca
local     882c0d1810e3ac6fddabcff2c65f1022605f450a6c49504edf57e78de14da1e5
local     1490f17c760b935d926fb1fedc7de4e0e07f1084fcf8c769c672d50f43757f8f
local     471762be4837d40ad175b7cfe74b81a51b4b3e752cb6f15e7e79d09ffc5f65fc
local     af4dc486d8335ec0e524c0e30a0ae037ef05dfa7a4ed3e4e0dd59954c5084a9e
local     c26b0f08ebdb140d91cb450313e9e314239c1c3553a612e6534154006aa19744
local     c52728c97a7ee672216ccb2d4392fa83bc480dd9646ddb5577e1124eb98e15b6
local     juming-nginx

顯示數(shù)據(jù)卷的具體信息

[root@localhost ~]# docker volume inspect juming-nginx 
[
    {
        "CreatedAt": "2022-03-05T18:16:53+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/juming-nginx/_data",
        "Name": "juming-nginx",
        "Options": null,
        "Scope": "local"
    }
]

docker 容器中所有的卷,在沒有指定目錄的情況下,都在var/lib/docker/volumes/juming-nginx/_data",

我們可以通過具名掛載找到卷的位置,大多數(shù)情況下,我們使用具名掛載

關(guān)于docker的掛載問題,有三個比較容易混淆的概念: (區(qū)分的方式)

1.具名掛載:-v 參數(shù) 卷名:容器內(nèi)路徑

2.匿名掛載:-v 參數(shù)后面 沒有寫上容器之外的地址, docker 自己會在docker內(nèi)部給你找個位置

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

這里有一個權(quán)限問題:

[root@localhost ~]# docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:rw  nginx 
6590da464b6ea5cecf58f1cfcdfe2df35092383adb7aaddac4ca5d463367c979

rw :可讀可寫的權(quán)限
ro : 可讀權(quán)限

[root@localhost ~]# docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx:ro  nginx 

這個會對我們掛載出來的內(nèi)容進行限定

ro 權(quán)限說明命令只可以被宿主機操作,容器的內(nèi)部將無法進行操作

平時不需要動它

原文鏈接:https://blog.csdn.net/weixin_47556601/article/details/123362277

欄目分類
最近更新