docker 網路和特權模式

2022-06-08 22:36:18 字數 1530 閱讀 1872

檢視網路模式:

預設的三種網路模式:

橋接模式是docker 的預設網路設定,當docker服務啟動時,會在主機上建立乙個名為docker0的虛擬網橋,並選擇乙個和宿主機不同的ip位址和子網分配給docker0網橋

當我們啟動乙個容器時,會橋接到docker0網絡卡上,在通過nat技術就實現了外網訪問docker容

docker0 是啟動docker服務時分配的網橋,77和83是啟動乙個容器時分配的網橋(bridge模式時才會有)

host模式是使用的宿主機的ip和埠,不會生成乙個網絡卡橋接到docker0模式。

拉取nginx映象

docker pull nginx
啟動nginx容器,--net=host 指明網路模式為host,如果不指明,預設為bridge

docker run -d --net=host nginx
防火牆放開80埠:

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

啟動容器時沒有指定埠號,我們直接訪問宿主機的80埠是可以訪問到nginx的

host的缺點就是只能啟動乙個相同的服務,比如nginx映象的埠都是80,你在宿主機上啟動乙個就占用了宿主機的80埠,在啟動乙個nginx就會報錯

none模式:關閉模式

無法連外網

比較少用,了解有這種網路模式即可

特權模式

也比較少用,了解即可

啟動乙個普通的容器

docker run -itd --name mycentos centos:7 /bin/bash
安裝網路工具:

yum -y install net-tools
執行route -n 檢視閘道器

刪除閘道器

route del default gw 172.17.0.1
這樣會提示許可權

啟動擁有特權模式的容器:只需要在啟動容器的時候加上--privileged=true就可以了

docker run -itd --privileged=true --name mycentos1 centos:7 /bin/bash

開啟docker容器的特權模式

方案1 容器建立執行時使用privileged true引數 方案2 已存在容器開啟特權privileged模式 cd var lib docker containers docker stop vim hostconfig.json 修改 privileged false privileged t...

shell進入特權模式 使用者,特權,全域性模式

了解使用者模式 特權模式和全域性模式 首先我們啟動路由器這是我們發現命令列變為 r1 使用者模式的標誌 現在我們來看一看在使用者模式下我們可以進行哪些操作 r1 exec commands access enable create a temporary access list entry call...

Docker 網路模式

host 模式並沒有為容器建立乙個隔離的網路環境。該模式下的docker 容器會和host宿主機共享同乙個網路namespace,docker container可以和宿主機一樣,使用宿主機的eth0,實現和外界的通訊。host模式特點包括 容器沒有隔離的 network namespace 容器的...