Docker容器host與none網(wǎng)絡(luò)的使用
其實之前的章節(jié)我們都是在使用bridge網(wǎng)絡(luò)的功能,他的使用也是廣泛的復(fù)雜的。今天主要討論另外兩種network。
1. none-network
看到名子你可以聯(lián)想到,none 網(wǎng)絡(luò)就是指的什么都沒有的網(wǎng)絡(luò)
容器如果掛載在這個網(wǎng)絡(luò)下的話,那么除了 lo,是不會有其他網(wǎng)卡的
容器創(chuàng)建時,可以通過 --network=none
指定使用 none 網(wǎng)絡(luò)。
我們創(chuàng)建一個容器連接到該網(wǎng)絡(luò):
sudo docker run -d --name test1 --network none .....
然后我們inspect一下:
但是我們發(fā)現(xiàn)他沒有任何網(wǎng)絡(luò)信息,然后我們進(jìn)去看一下:
sudo docer exec -it test1 /bin/sh
然后允許一下ip a 看一下,除了本地回轉(zhuǎn)扣啥都沒有:
所以這個network-namespace是一個孤立的,除了exec方式其他方式都訪問不到。
這種模式通常用于作用:創(chuàng)建一種容器,要求安全性高,例如存儲密碼,不希望其他人訪問到,只要求本地自己訪問一下才行。
2. host-network
連接到 host 網(wǎng)絡(luò)的容器共享 Docker host 的網(wǎng)絡(luò)棧,容器的網(wǎng)絡(luò)配置與 host 完全一樣??梢酝ㄟ^ --network=host
指定使用 host 網(wǎng)絡(luò)。
sudo docker run -d --name test1 --network host ...
docker network inspect host:
我們發(fā)現(xiàn)他也沒有IP地址,接著我們進(jìn)去容器看一下:
但是我們發(fā)現(xiàn)在test1里面的接口和外面linux主機(jī)里面的接口是一樣的,所以我們通過host網(wǎng)絡(luò)創(chuàng)建的容器是沒有獨立的network-namespace,他是和主機(jī)所在的namespace共享一套,所以兩者一樣。
注意:端口可能會有沖突
到此這篇關(guān)于Docker容器host與none網(wǎng)絡(luò)的使用的文章就介紹到這了,更多相關(guān)Docker host與none內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解ASP.NET Core 網(wǎng)站在Docker中運行
本篇文章主要介紹了詳解ASP.NET Core 網(wǎng)站在Docker中運行,非常具有實用價值,需要的朋友可以參考下2017-05-05關(guān)于Docker容器Dead狀態(tài)的分析
這篇文章主要介紹了關(guān)于Docker容器Dead狀態(tài)的分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07使用非root用戶安裝及啟動docker的問題(rootless模式運行)
docker是使用--userns-remap容器用戶映射宿主機(jī)用戶的方式來解決問題,用戶和組的映射由兩個配置文件來控制,分別是/etc/subuid和/etc/subgid,本文給大家介紹非root用戶啟動docker的問題,感興趣的朋友一起看看吧2022-05-05