Docker: 小白之路八(Docker使用篇之路徑映射(掛載本地目錄))

Docker的小白之路八(Docker使用篇之路徑映射(掛載本地目錄))

一、直接掛載本地目錄到容器

在使用docker過程中,我們經常需要利用docker 容器的環境,但是又不想將代碼傳到容器中,這時我們就需要docker把宿主機上的目錄掛載到容器中

root@felaim-pc:/home/felaim# docker run -it -v  /home/felaim/Documents/docker_tutorial:/usr/Downloads --name felaim_test  ubuntu:16.04 /bin/bash

參數說明:

  • -t: 在新容器內指定一個僞終端或終端
  • -i: 允許你對容器內的標準輸入(STDIN)進行交互
  • -v: 是將宿主機目錄,必須爲絕對路徑,冒號後爲容器內掛載的路徑
  • –name: 這裏注意是雙短線,來命名容器,不然每次docker會對容器進行自動命名,容器多了就分不清楚到底不同容器之間的關係了。
    在這裏插入圖片描述我們進入容器中,可以看到宿主機的目錄已經映射到容器中了。
    在這裏插入圖片描述我們可以看到容器中Dockerfile的內容如上。

如果我們在本地端對文件進行修改呢?添加了一行test_modify的用戶
在這裏插入圖片描述
再次在容器中打開Dockerfile文件,可以看到文件也是實時修改的!
在這裏插入圖片描述
這樣你就可以在本地愉快的調試代碼,減少了代碼傳輸的麻煩和本地環境的配置,怎麼現在才知道這個好東西/(ㄒoㄒ)/~~

咱們再使用一下docker ps,驗證一下容器的名字,是felaim_test,驗證無誤。

在這裏插入圖片描述我們也可以使用 -p 標識來指定容器端口綁定到主機端口。

兩種方式的區別是:

  • -P :是容器內部端口隨機映射到主機的高端口。
  • -p : 是容器內部端口綁定到指定的主機端口。

這個在端口映射那章已經有具體示例了,就不討論對應參數設定了。

二、使用數據卷

1. 創建數據卷容器

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

root@felaim-pc:/home/felaim# docker run -v /home/felaim/Documents/docker_tutorial:/usr/Downloads --name dataVol ubuntu:16.04 /bin/bash

可以看到我們的dataVol已經創建成功
在這裏插入圖片描述

2. 創建使用數據卷的新容器

root@felaim-pc:/home/felaim# docker run -it --volumes-from dataVol --name test_dataVol  ubuntu:16.04 /bin/bash

參數說明:

  • –volumes-from: 這個也是雙短線,這個參數用來指定使用哪個數據捲來掛載數據
    在這裏插入圖片描述
    在本地進行修改之後,再次查看容器中對應文件,發現容器中的文件內容也對應修改了,也就是咱們使用的數據卷也成功了。
    在這裏插入圖片描述

參考地址:

  1. https://blog.csdn.net/huludan/article/details/52641090?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
  2. https://www.runoob.com/docker/docker-container-connection.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章