Docker容器與虛擬化技術——Docker數據管理與網絡通信

                                             Docker數據管理與網絡通信

一、Docker鏡像的創建方法
Docker鏡像除了是Docker的革新技術之外,也是應用發佈的標準格式。一個完整的Docker鏡像可以支撐一個Docker容器的運行。如果要把已安裝的服務器進行遷移,就需要把環境以及搭建的服務生成新的鏡像
1、基於已有鏡像創建
    基於已有鏡像創建主要使用docker commit命令。實質就是把一個容器裏面運行的程序以及該程序的運行環境打包起來生成新的鏡像
    命令:docker commit [選項] 容器ID/名稱 倉庫名稱:[標籤]
        (1)-m:說明信息
        (2)-a:作者信息
        (3)-p:生成過程中停止容器的運行

2、基於本地模板創建
    通過導入操作系統模板文件可以生成鏡像,模板可以從OPENVZ開源項目下載(http://openvz.org/Download/template/precreated)
    實例:cat debian-7.0-x86-minimal.tar.gz | docker import - daoke:new

3、基於Dockerfile創建
    Dockerfile是一個文本格式的配置文件,用戶可以使用它來快速創建自定義的鏡像
(1)基本結構
Dockerfile由一行行命令語句組成,支持以#開頭的註釋行。
一般而言,Dockerfile分爲四部分:基礎鏡像信息、維護者信息、鏡像操作指令和容器啓動時執行指令。
(2)指令說明

(3)創建鏡像:docker build [選項] 內容路徑
    ①如果使用非內容路徑下的Dockerfile,可以通過-f選項來指定路徑
    ②要指定生成鏡像的標籤信息,可以使用-t選項
 

二、Docker的數據管理
    在Docker中,爲了方便查看容器內產生的數據或者將多個容器中的數據實現共享,就涉及到容器的數據管理操作。管理Docker容器中數據主要有兩種方式:數據卷和數據卷容器
1、數據卷
(1)創建數據卷
    在docker run命令中使用-v選項可以在容器內創建數據卷,多次使用可創建多個數據卷
    docker run -d -v /data centos:7.5.1804 /bin/basha
(2)掛載主機目錄作爲數據卷
    docker run -d -v /data:/data centos:7.5.1804 /bin/basha
(3)掛載本地主機文件作爲數據卷
    -v標記也可掛載單個文件到容器中作爲數據卷(不推薦)

2、數據卷容器
    如果用戶需要在多個容器之間共享一些持續更新的數據卷,最簡單的方式是使用數據卷容器,數據卷容器也是一個容器,但是他的目的是專門用來提供數據卷供其他容器掛載
(1)創建數據卷容器,並在其中創建一個數據卷
(2)其他容器在創建時使用--volumes-from [容器名]來掛載該容器中的數據卷
(3)可以多次使用--volumens-from選項來掛載讀個數據卷,還可以從其他已經掛載了容器卷的容器來掛載數據卷
 

三、端口映射與網絡互連
1、端口映射實現訪問容器
(1)從外部訪問容器應用
    ①-P:隨機映射一個49000-49900的端口到容器內部開放的端口網絡
    ②-p:指定要映射的端口,且在一個指定端口上只可以綁定一個容器
    ③可以使用/udp|tcp來指定端口
(2)查看映射端口配置
    docker port
2、互聯機制實現便捷訪問
(1)自定義容器名
    使用--name來自定義容器名
(2)容器互連
    使用--link參數惡意讓容器之間安全的進行交互:--link 要連接的容器名:別名
    容器內部用別名替代IP地址實現互聯,如:ping 別名=ping IP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章