国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

docker基礎知識之掛載本地目錄的方法

2024-09-01 13:51:28
字體:
來源:轉載
供稿:網友

Docker可以支持把一個宿主機上的目錄掛載到鏡像里。

 

復制代碼 代碼如下:

docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash

 

通過-v參數,冒號前為宿主機目錄,必須為絕對路徑,冒號后為鏡像內掛載的路徑。

docker,掛載本地目錄,docker容器掛載目錄,掛載目錄

現在鏡像內就可以共享宿主機里的文件了。

默認掛載的路徑權限為讀寫。如果指定為只讀可以用:ro

 

復制代碼 代碼如下:

docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash

 

docker還提供了一種高級的用法。叫數據卷。

數據卷:“其實就是一個正常的容器,專門用來提供數據卷供其它容器掛載的”。感覺像是由一個容器定義的一個數據掛載信息。其他的容器啟動可以直接掛載數據卷容器中定義的掛載信息。
看示例:

 

復制代碼 代碼如下:

docker run -v /home/dock/Downloads:/usr/Downloads  --name dataVol ubuntu64 /bin/bash

 

創(chuàng)建一個普通的容器。用--name給他指定了一個名(不指定的話會生成一個隨機的名子)。

再創(chuàng)建一個新的容器,來使用這個數據卷。

docker run -it --volumes-from dataVol ubuntu64 /bin/bash

--volumes-from用來指定要從哪個數據卷來掛載數據。

docker,掛載本地目錄,docker容器掛載目錄,掛載目錄

如何在Docker容器內外互相拷貝數據?

從容器內拷貝文件到主機上

 

復制代碼 代碼如下:

docker cp <containerId>:/file/path/within/container /host/path/target 

 

從主機上拷貝文件到容器內

1.用-v掛載主機數據卷到容器內

docker run -v /path/to/hostdir:/mnt $container 

在容器內拷貝 

cp /mnt/sourcefile /path/to/destfile 

2.直接在主機上拷貝到容器物理存儲系統 

A. 獲取容器名稱或者id :

$ docker ps 

B. 獲取整個容器的id

$ docker inspect -f  '{{.Id}}' 步驟A獲取的名稱或者id 

C. 在主機上拷貝文件:

 

復制代碼 代碼如下:

$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE  

 

或者 

 

復制代碼 代碼如下:

$ sudo cp path-file-host /var/lib/docker/devicemapper/mnt/123abc<<id>>/rootfs/root 

 

例子:

$ docker ps  CONTAINER ID   IMAGE  COMMAND    CREATED   STATUS    PORTS    NAMES  d8e703d7e303  solidleon/ssh:latest   /usr/sbin/sshd -D           cranky_pare  $ docker inspect -f  '{{.Id}}' cranky_pare 

or  

$ docker inspect -f  '{{.Id}}' d8e703d7e303  d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5  $ sudo cp file.txt /var/lib/docker/aufs/mnt/**d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5 

3.用輸入輸出符

 

復制代碼 代碼如下:

docker run -i ubuntu /bin/bash -c 'cat > /path/to/container/file' < /path/to/host/file/ 

 

或者

 

復制代碼 代碼如下:

docker exec -it <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/ 

 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 清徐县| 法库县| 邯郸县| 德保县| 诸城市| 闽清县| 巴东县| 高平市| 株洲县| 塔城市| 阿拉善盟| 鄢陵县| 红安县| 广州市| 溆浦县| 上犹县| 阜阳市| 宁陕县| 巩义市| 秦皇岛市| 陇南市| 灌阳县| 北票市| 恭城| 玉山县| 平邑县| 岳池县| 西安市| 顺平县| 汝城县| 麻江县| 广汉市| 广元市| 桦南县| 泗洪县| 宁陕县| 高清| 常州市| 从江县| 南川市| 蓝田县|