中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用docker中host和none

發布時間:2021-11-16 13:56:22 來源:億速云 閱讀:144 作者:iii 欄目:大數據

本篇內容主要講解“怎么使用docker中host和none”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用docker中host和none”吧!

none Network

首先介紹none類型的Network。

網絡模式為 none,即不為 Docker 容器構造任何網絡環境。一旦Docker 容器采用了none 網絡模式,那么容器內部就只能使用loopback網絡設備,不會再有其他的網絡資源。Docker Container的none網絡模式意味著不給該容器創建任何網絡環境,容器只能使用127.0.0.1的本機網絡。 

首先看一下我們的網絡:

 duandingyang@duandingyangdeMacBook-Pro  ~/docker/ubuntu-16.04  docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
6862ec731e70        bridge              bridge              local
27b794790b92        host                host                local
c0ccd5a52bf1        none                null                local

創建一個none類型的容器:

docker run -it  --name test1 --network none vincent/ubuntu-base /bin/bash

查看none網絡的詳細信息:

docker network inspect none
[
    {
        "Name": "none",
        "Id": "c0ccd5a52bf1a09e45ca879e9a2dd32d6987b7d43bd01e0924af501510af4c26",
        "Created": "2019-06-29T08:14:06.043680652Z",
        "Scope": "local",
        "Driver": "null",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": []
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "9a7ce6d97102fb8d820d4a649a4d5844e6490e64416267da2dc255ebd4c7688c": {
                "Name": "test1",
                "EndpointID": "8914a0bd63984e018cc4ce9f629e964941030a63277df13fc78175954bededfc",
                "MacAddress": "",
                "IPv4Address": "",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

可以看到test1容器的ip為空。

進入到容器中查看ifconfig:

root@9a7ce6d97102:/usr# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

我們發現只有一個lo網卡。沒有其他的網卡。意味著test1容器所在的namespace是一個孤立的Network namespace。除了使用docker exec -it test1 /bin/bash這種方式訪問容器外,沒有任何方式可以訪問容器了。

那么這種容器存在的意義是什么呢?

當安全性要求比較高的時候,存儲密碼等工具可以用這種方式實現。

host Network

Host 模式并沒有為容器創建一個隔離的網絡環境。而之所以稱之為host模式,是因為該模式下的 Docker 容器會和 host 宿主機共享同一個網絡 namespace,故 Docker Container可以和宿主機一樣,使用宿主機的eth0,實現和外界的通信。換言之,Docker Container的 IP 地址即為宿主機 eth0 的 IP 地址。其特點包括:


    • 這種模式下的容器沒有隔離的 network namespace

    • 容器的 IP 地址同 Docker host 的 IP 地址

    • 需要注意容器中服務的端口號不能與 Docker host 上已經使用的端口號相沖突

    • host 模式能夠和其它模式共存

將上面的test1容器停止,并刪除容器。

創建host Network容器:

docker run -it  --name test1 --network host vincent/ubuntu-base /bin/bash

查看host網絡信息:

docker network inspect host
[
    {
        "Name": "host",
        "Id": "27b794790b9286a90285386b1ddd4d1703668e1b57b9e0dd47261c86de52452b",
        "Created": "2019-06-29T08:14:06.08051536Z",
        "Scope": "local",
        "Driver": "host",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": []
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "c56f09a40a89293affb4120ac698c1add5796d871683c1ded162b44bd2f5a7ba": {
                "Name": "test1",
                "EndpointID": "969c508af1d2448c4b1028f80ee0b4aca2fa7856a2c3c92f4def251781bf6488",
                "MacAddress": "",
                "IPv4Address": "",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

可以看到test1同樣沒有ip地址和mac地址。

進入到容器中查看ifconfig:

root@linuxkit-025000000001:/usr# ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:27:c4:e8:bd
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::42:27ff:fec4:e8bd/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:108020 errors:0 dropped:0 overruns:0 frame:0
          TX packets:260692 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4347447 (4.3 MB)  TX bytes:381499475 (381.4 MB)

eth0      Link encap:Ethernet  HWaddr 02:50:00:00:00:01
          inet addr:192.168.65.3  Bcast:192.168.65.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:261768 errors:0 dropped:0 overruns:0 frame:0
          TX packets:109131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:381626776 (381.6 MB)  TX bytes:5951813 (5.9 MB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:140 (140.0 B)  TX bytes:140 (140.0 B)

發現他的網卡與我們的宿主機上是很相似的。

通過host方式創建的容器,沒有獨立的Network namespace,跟我們的主機的Network namespace共享。

使用這種方式會出現ip沖突和端口沖突

到此,相信大家對“怎么使用docker中host和none”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇南市| 阳谷县| 铁岭市| 拉萨市| 曲靖市| 宣武区| 勐海县| 金乡县| 资中县| 抚州市| 通化市| 平远县| 抚远县| 武鸣县| 江城| 长沙市| 花莲市| 明光市| 蒲江县| 尼玛县| 阿荣旗| 应用必备| 九龙城区| 桃园市| 汶川县| 珠海市| 万安县| 太原市| 共和县| 荣成市| 成安县| 永城市| 密山市| 长武县| 明水县| 崇礼县| 昌乐县| 馆陶县| 沈丘县| 钦州市| 渭源县|