最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Docker容器中掛載主機(jī)目錄的方法

 更新時(shí)間:2025年06月24日 11:24:33   作者:1010n111  
在使用Docker時(shí),有時(shí)需要將主機(jī)上的目錄掛載到容器中,以便在主機(jī)和容器之間共享數(shù)據(jù),使主機(jī)上的更新能實(shí)時(shí)反映到容器中,但不同的操作系統(tǒng)和Docker版本在掛載目錄時(shí)可能會(huì)有不同的方法和注意事項(xiàng),本文給大家講解了在Docker容器中掛載主機(jī)目錄的方法

在Docker容器中掛載主機(jī)目錄的方法

技術(shù)背景

在使用Docker時(shí),有時(shí)需要將主機(jī)上的目錄掛載到容器中,以便在主機(jī)和容器之間共享數(shù)據(jù),使主機(jī)上的更新能實(shí)時(shí)反映到容器中。但不同的操作系統(tǒng)和Docker版本在掛載目錄時(shí)可能會(huì)有不同的方法和注意事項(xiàng)。

實(shí)現(xiàn)步驟

使用ADD命令(不推薦用于實(shí)時(shí)更新場(chǎng)景)

可以在Dockerfile中使用ADD命令將主機(jī)目錄復(fù)制到容器中,但這種方式在構(gòu)建容器后,主機(jī)目錄的更改不會(huì)反映到容器中。

ADD . /path/inside/docker/container

使用-v選項(xiàng)(適用于大多數(shù)場(chǎng)景)

在運(yùn)行容器時(shí)使用-v選項(xiàng)可以將主機(jī)目錄掛載到容器中。以下是不同操作系統(tǒng)的示例:

  • Linux/Mac
docker run -t -i -v <host_dir>:<container_dir>  ubuntu /bin/bash

例如,將主機(jī)的/tmp目錄掛載到容器的/tmp目錄:

docker run -t -i -v /tmp:/tmp ubuntu /bin/bash
  • Windows 10
docker run -it -p 12001:80 -v c:\Users\C\Desktop\dockerStorage:/root/sketches

注意要確保主機(jī)驅(qū)動(dòng)器已共享。也可以使用以下格式:

docker run -it -p 12001:80 -v //c/Users/C/Desktop/dockerStorage:/root/sketches <your-image-here> /bin/bash

使用--mount選項(xiàng)(Docker 17.06及以上版本)

--mount選項(xiàng)的語(yǔ)法更詳細(xì),鍵值對(duì)的順序不重要,且值更容易理解。

docker run -it --mount src="$(pwd)",target=/test_container,type=bind k3_s3

如果掛載參數(shù)沒(méi)有空格,也可以使用反引號(hào):

docker run -it --mount src=`pwd`,target=/test_container,type=bind k3_s3

對(duì)于使用boot2docker或docker-machine的情況

如果在Mac上使用boot2docker,可能需要進(jìn)行兩次掛載:

  1. 將主機(jī)目錄掛載到boot2docker
sudo mount -t vboxsf hostfolder /boot2dockerfolder
  1. boot2docker目錄掛載到容器:
docker run -v /boot2dockerfolder:/root/containerfolder -i -t imagename

使用docker-compose

docker-compose.yaml文件中也可以進(jìn)行目錄掛載:

version: '2'
services:
  cms:
    image: <IMAGE>:<TAG>
    ports:
      - <LOCAL_PORT>:<CONTAINER_PORT>
    volumes:
      - <LOCAL_PATH>:<CONTAINER_PATH>

例如:

version: '2'
services:
  cms:
    image: ghost-cms:latest
    ports:
      - 8080:8080
    volumes:
      - /volume-to-mount:/mnt

然后運(yùn)行:

docker-compose -f docker-compose.yaml up -d

核心代碼

以下是一些常見(jiàn)的掛載命令示例:

# 使用 -v 選項(xiàng)掛載
docker run -t -i -v /tmp:/tmp ubuntu /bin/bash

# 使用 --mount 選項(xiàng)掛載
docker run -it --mount src="$(pwd)",target=/test_container,type=bind k3_s3

# 在 docker-compose.yaml 中掛載
version: '2'
services:
  app:
    image: your-image:tag
    volumes:
      - ./host-dir:/container-dir

最佳實(shí)踐

  • 使用絕對(duì)路徑:在掛載時(shí)盡量使用絕對(duì)路徑,避免使用相對(duì)路徑,以確保掛載的準(zhǔn)確性。
  • 權(quán)限管理:要注意掛載目錄的權(quán)限問(wèn)題,確保容器內(nèi)的進(jìn)程有足夠的權(quán)限訪問(wèn)掛載的目錄。
  • 開(kāi)發(fā)環(huán)境使用:在開(kāi)發(fā)環(huán)境中,使用目錄掛載可以方便地進(jìn)行代碼調(diào)試和更新,避免頻繁重建容器。

常見(jiàn)問(wèn)題

  1. 在Mac上使用boot2docker掛載后看不到內(nèi)容:可能是因?yàn)閽燧d的是boot2docker的目錄而不是主機(jī)目錄,需要進(jìn)行兩次掛載。
  2. Windows上掛載失敗:要確保主機(jī)驅(qū)動(dòng)器已共享,并且使用正確的路徑格式(如使用雙斜杠)。
  3. 無(wú)法在容器中更新文件:檢查掛載目錄的權(quán)限,確保容器內(nèi)的進(jìn)程有讀寫權(quán)限。
  4. 掛載的目錄為空:可能是路徑錯(cuò)誤或Docker配置問(wèn)題,檢查路徑是否正確,以及是否需要在Docker設(shè)置中共享驅(qū)動(dòng)器。

以上就是在Docker容器中掛載主機(jī)目錄的方法的詳細(xì)內(nèi)容,更多關(guān)于Docker掛載主機(jī)目錄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在Ubuntu中安裝Docker和docker的使用方式

    在Ubuntu中安裝Docker和docker的使用方式

    這篇文章主要介紹了在Ubuntu中安裝Docker和docker的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • docker build上下文的實(shí)現(xiàn)示例

    docker build上下文的實(shí)現(xiàn)示例

    Docker build上下文是構(gòu)建Docker鏡像時(shí)傳遞給Docker引擎的所有文件和目錄的集合,可以提高構(gòu)建效率,避免無(wú)用文件的傳輸,同時(shí)確保鏡像構(gòu)建過(guò)程的順利進(jìn)行,感興趣的可以了解一下
    2025-09-09
  • 手動(dòng)構(gòu)建自己的docker容器鏡像實(shí)戰(zhàn)

    手動(dòng)構(gòu)建自己的docker容器鏡像實(shí)戰(zhàn)

    這篇文章主要介紹了如何手動(dòng)構(gòu)建自己的鏡像并上傳到鏡像倉(cāng)庫(kù)中,文中有詳細(xì)的代碼實(shí)例,需要的朋友可以參考閱讀
    2023-04-04
  • docker compose 使用教程

    docker compose 使用教程

    這篇文章主要介紹了docker compose 使用教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • docker安裝RabbitMQ及安裝延遲插件的詳細(xì)過(guò)程

    docker安裝RabbitMQ及安裝延遲插件的詳細(xì)過(guò)程

    MQ(message queue)字面意思上來(lái)說(shuō)消息隊(duì)列,是一種跨進(jìn)程的通信機(jī)制,用于上下游傳遞消息,本文給大家詳細(xì)介紹docker安裝RabbitMQ及安裝延遲插件的過(guò)程,感興趣的朋友一起看看吧
    2022-06-06
  • docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式

    docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式

    這篇文章主要介紹了docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 如何通過(guò)Dockerfile 創(chuàng)建 kali-novnc

    如何通過(guò)Dockerfile 創(chuàng)建 kali-novnc

    這篇文章主要介紹了如何通過(guò)Dockerfile 創(chuàng)建 kali-novnc,在Dockerfile所在目錄運(yùn)行相關(guān)命令操作即可完成,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 在docker中的mysql容器內(nèi)執(zhí)行命令與執(zhí)行SQL文件方式

    在docker中的mysql容器內(nèi)執(zhí)行命令與執(zhí)行SQL文件方式

    文章介紹了如何通過(guò)Docker進(jìn)入MySQL容器執(zhí)行SQL文件,并總結(jié)了MySQL清空表數(shù)據(jù)的三種方法:TRUNCATE、DROP和DELETE,每種方法都有其適用場(chǎng)景和特點(diǎn)
    2025-01-01
  • mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署

    mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署

    主從復(fù)制是 MySQL 中一種用于實(shí)現(xiàn)數(shù)據(jù)冗余、提高可用性和性能的重要機(jī)制,本文主要介紹了mysql8.4.0實(shí)現(xiàn)主從復(fù)制部署,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • 三分鐘完成 ubuntu16.04初始化,Java,maven,docker環(huán)境的部署問(wèn)題

    三分鐘完成 ubuntu16.04初始化,Java,maven,docker環(huán)境的部署問(wèn)題

    這篇文章主要介紹了三分鐘完成 ubuntu16.04初始化,Java,maven,docker環(huán)境的部署問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-11-11

最新評(píng)論

巴塘县| 晋州市| 望江县| 太康县| 双鸭山市| 长白| 宁国市| 赫章县| 阳泉市| 隆尧县| 寻甸| 和顺县| 吉林省| 青岛市| 濉溪县| 瓦房店市| 池州市| 额济纳旗| 西平县| 天镇县| 青神县| 绵阳市| 海林市| 谢通门县| 肇庆市| 磐安县| 襄汾县| 惠州市| 朝阳市| 石渠县| 古交市| 惠来县| 吴桥县| 应城市| 泽库县| 岳池县| 克东县| 双牌县| 禄劝| 宝清县| 诸暨市|