docker網路知識筆記

2022-06-26 08:36:10 字數 2442 閱讀 6100

docker容器的網路四種通訊模式的總圖如下

closed container: 封閉式容器,只有lo介面,不參與網路通訊,執行與此類容器中的程序僅能訪問本地環迴介面,僅適用於程序無須網路通訊的場景中,例如備份、程序診斷及各種離線任務等。命令列:docker run --rm --net none busybox:latest

bridged container:nat橋接式容器,通過容器介面連線到docker0上,預設172.17.0.0/16,在使用 docker 時,沒有指定網路模式時被採用的預設的網路模式。橋接式容器一般擁有兩個介面:乙個環迴介面和乙個連線至主機上某橋裝置的乙太網介面。docker daemon啟動時,缺省會建立乙個名為docker0的網橋,並且建立的容器為橋接式容器,其乙太網介面橋接至docker0。docker0橋為snat橋,因此,橋接式容器可通過此橋介面訪問外部網路,但是防火牆則阻止一切從外部網路訪問橋接式容器的請求。

docker run --rm --net bridge busybox:latest

如果容器上的服務要被外部網路訪問,需要在宿主機上為其定義dnat規則,通過使用docker run 命令的-p 引數-p來實現dnat的埠對映,無須手動的新增規則

joined container:聯盟式容器,讓兩個容器有一分部命名空間是隔離的:檔案系統、使用者、pid隔離,但是 uts、net和ipc是同享同一組,所以兩個容器使用同一組網路裝置,可通過lo通訊。

[root@kubemaster cw_docker]# docker run -it --name test2 cwcentos:1 /bin/sh

sh-4.4# cd /etc/hosts

sh: cd: /etc/hosts: not a directory

sh-4.4# vi /etc/hosts

sh-4.4# vi /etc/re

redhat-release resolv.conf

sh-4.4# vi /etc/re

redhat-release resolv.conf

sh-4.4# vi /etc/resolv.conf

sh-4.4# ip add

1: lo: mtu 65536 qdisc noqueue state unknown group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

104: eth0@if105:

mtu 1500 qdisc noqueue state up group default

link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0

inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0

valid_lft forever preferred_lft forever

sh-4.4#

[root@kubemaster ~]# docker run -it --net container:test2(container:容器的名字) --name=test4 cwcentos:1 /bin/bash

[root@db9fe42ebfd8 /]# ip add

1: lo: mtu 65536 qdisc noqueue state unknown group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

104: eth0@if105:

mtu 1500 qdisc noqueue state up group default

link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0

inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0

valid_lft forever preferred_lft forever

[root@db9fe42ebfd8 /]#

open container:開放式容器,開放的網絡卡是物理網路介面,和物理機同享同一組網路命名空間

docker學習筆記(六) docker網路

docker網路主要分為兩塊 容器對外服務和容器內部服務 對外服務很好理解,比如我啟動了乙個mysql的容器,然後讓別的機器可以連線到這個mysql,就是對外服務 容器內部服務很好理解,就是幾個容器之間的互相通訊。當容器內執行一些網路應用,要讓外部訪問這些應用時,可以通過 p或 p引數來指定埠對映。...

docker學習筆記 docker網路配置

本文主要介紹docker預設的網路行為。其中,包含建立的預設網路型別和如何建立使用者自定義網路。預設網路 當我們安裝docker後,它會自動建立3個網路,我們也可以通過docker network命令來檢視 在此就不附圖了 注意 這3個網路是被docker內建的。當我們執行乙個容器需要制定的網路的時...

docker學習筆記 小知識

零 加入docker使用者組 在使用非管理員賬戶登入作業系統,操作docker的時候需要切換到管理員的身份,每次都這樣操作會比較麻煩,所以可以將當前使用者加入到docker 使用者組,如下 sudo usermod ag docker user name一 配置啟動項 doker 服務啟動呼叫的是d...