docker學習第八天 docker 基礎之網路配置

大雄45 發表於 2022-05-07
Docker
導讀 今天總結一下docker網路配置

docker學習第八天 docker 基礎之網路配置docker學習第八天 docker 基礎之網路配置
大量的網際網路應用服務包括多個服務元件,這往往需要多個容器之間通過網路通訊進行相互配合。

Docker目前提供了對映容器埠到宿主主機和容器互聯機制來為容器提供網路服務

本章講解如何使用docker的網路功能。包括使用埠對映機制來將容器內應用服務提供給外部網路,以及通過容器互聯絡統讓多個容器之間進行快捷的網路通訊。

從外部訪問容器應用

在啟動容器的時候,如果不指定對應引數,在容器外部無法通過網路訪問容器內的應用。需要通過 -p 引數來指定埠對映。當使用 -p 標記時,docker 會隨機對映一個49000~49900 的埠到外部開放的網路埠。

docker run -d -P training/webapp python app.py
docker ps -l

-p(小寫)這可以指定要對映的埠,並且在指定埠上可以繫結一個容器。格式

ip:hostPort:containerPort
ip::containerPort
hostport:containerPort
對映所有介面地址

使用hostPort:containerPort 格式將本地的5000埠對映到容器的5000埠

docker run -d -p 5000:5000 training/webapp python app.py

此時預設會繫結本地所有介面上的所有地址。多次使用-p 可以繫結多個埠。

docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py
對映到指定地址的指定埠

可以使用 ip:hostPort:containerPort格式指定對映使用一個特定地址,比如localhost 地址127.0.0.1:

docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
對映指定地址的任意埠

使用ip::containerPort板頂localhost的任意埠到容器的5000埠,本地主機會自動分配一個埠。

docker run -d -p 127.0.0.1::5000 training/webapp python app.py
還可以使用udp來指定udp埠:
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
檢視銀色埠配置

使用docker port 來檢視當前對映的埠配置。也可以檢視到繫結的地址:

docker port nostalgic_morse 5000
容器互聯實現容器間通訊

容器的連線(linking)系統是除了埠對映外領一種可以與容器中應用進行互動的方式。它會在源和接受容器之間建立一個隧道,接收容器可以看到源容器指定的資訊。

自定義容器命名

連線系統一句容器的名稱來執行。因此。首要自頂一個好幾的容器命名。

雖然當建立容器的時候,系統預設會分配一個名字,但自定義容器有兩個好處:1.好記,2作為有用的參考點。

docker run -d -P --name web training/webapp python app.py
使用docker ps 來驗證設定的命名:
docker ps -l
也可以使用docker inspect 來檢視容器的名字:
docker inspect -f "{{.Name}}" aed84ee21bde

在執行docker run 的時候如果新增--rm標記,則容器在終止後會立即刪除,注意 --rm 和-d 引數不能同時使用。

容器互聯

使用 --link 引數可以讓容器之間安全的進行互動。

下面先建立一個新的資料庫容器;
docker run -d --name db training/postgres
刪除之前的web容器:
docker rm -f web
然後建立一個新的web容器,並將它連線到db容器
docker run -d -P --name web --link db:db training/webapp python app.py

此時,db 容器和web容器建立互聯關係。

--link 引數的格式: --link name:alias,其中name是要連線的容器的名稱,alias 是這個連結的別名。

使用 docker ps 檢視容器的連線
docker ps

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2892754/,如需轉載,請註明出處,否則將追究法律責任。