docker技術學習總結(5) 網路基礎配置

2021-08-20 19:39:06 字數 1456 閱讀 1869

啟動容器時,如果不加指定引數,在容器外是不能通過網路訪問容器內的網路應用和服務的。

可以通過-p和-p引數來指定埠對映讓外部訪問,當使用-p時,會隨機對映乙個埠至容器內部開放的網路埠:

docker ps -l,檢視到本地主機的32772埠被對映到了容器的5000埠,訪問宿主機的32772埠即可訪問容器內web應用提供的介面。

通過docker logs檢視應用的資訊:

docker logs -f unruffled_williams 

-p可以指定要對映的埠,並且,在乙個指定的埠上只能繫結乙個容器,格式為:ip:hoatport:containerport  | ip:containerport | hostport:containerport.

docker port quizzical_murdock  5000

注:容器有自己的內部網路和ip,使用docker inspect+容器id檢視。

連線系統依據容器的名稱來執行。因此,首先要自定義乙個容易記的容器命名,通過--name標記指定自定義命名:

注:容器的名稱時唯一的,建立容器的時候,如果已經有乙個同名的容器,需要先刪除之前的同名容器。

在執行docker run的時候,如果加上--rm標記,容器在停止時會自動刪除,注意--rm不能和-d同時使用。

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

建立乙個資料庫容器:

docker run --name db -d training/postgres

然後建立乙個web容器並連線到db容器:

docker通過兩種方式為容器公開連線資訊:環境變數和/ect/hosts檔案

使用env命令檢視環境變數:docker exec -it web /bin/bash env

其中db_開頭的環境變數是供web容器連線db使用的,字首採用大寫的別名。

檢視hosts資訊: 

docker exec -ti web cat /etc/hosts

[root@vm_0_13_centos ~]# docker exec -ti web cat /etc/hosts

127.0.0.1 localhost

::1 localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

172.17.0.2 db 2d94327dffe1

172.17.0.3 7b2a9329ba27

可以看到db的hosts資訊已經配置好了。

docker學習筆記5 網路設定

在工作和學習中我們往往會涉及到多個docker之間內部通訊或docker與宿主主機外部通訊的情況,這些都是通過docker的網路設定來實現的。下面我們就來了解下docker的網路配置,以及相關設定。docker在預設情況下有以下三種網路配置方式,在docker安裝完成後也會預設進行建立 bridge...

docker 5 網路管理

docker network ls 三種預設的網路 bridge,host,none 映象建立乙個容器 shiyanlou001,並將本機的埠 10001 對映到容器中的 80 埠上,在瀏覽器中可以通過 localhost 10001 訪問容器 shiyanlou001 的 apache 服務,命令...

Docker學習筆記 三 網路

docker官方資料 網路分類 bridge 橋接網路 host 主機網路 overlay 覆蓋網路 macvlan 虛擬網絡卡 none 網路外掛程式 非docker官方提供 檢視docker網路 docker network ls docker預設使用的網路連線。簡單理解為,外界網路與宿主機本是...