容器之間如何通訊

2021-10-05 14:51:52 字數 1300 閱讀 6442

1.宿主機埠對映

2.容器鏈結

docker 還有乙個鏈結系統能夠把多個容器鏈結到一起.通過linking, 容器之間能夠相互發現,並能夠安全地傳輸資訊. 當建立linking時,實際上是在容器和目標容器之間建立了一根管道(conduit). 要建立linking,需要使用--link標誌, 首先建立乙個新容器,其中包含我們要訪問的資料庫:。

從映象training/postgres建立乙個叫做db的容器, 其中包含postgresql資料庫.

1
docker run -d --name db training/postgres:latest

建立乙個web容器,並鏈結到db容器

1

要建立容器之間的鏈結,必須在啟動時通過引數--name $container_name給容器命名,例如:

1

我們啟動db容器的時候並沒有指定-p-p引數,在這個例子中,web容器作為接受者(recipient)把自己的資訊暴露給作為source(源)db, docker在兩個容器之間建立了乙個安全的隧道,這是鏈結的巨大優勢, 通過連線,我們不需要向外部網路暴露埠.

docker通過兩種方式把鏈結暴露給recipient(接受者)容器:

docker設定了一堆環境變數, 可以使用env命令列出指定容器的環境變數:

1
path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

hostname=7f3a2434b08a

db_port=tcp:

db_port_5432_tcp=tcp:

db_port_5432_tcp_addr=172.17.0.21

db_port_5432_tcp_port=5432

db_port_5432_tcp_proto=tcp

db_name=/web2/db

db_env_pg_version=9.3

home=/

python Docker容器之間通訊

docker會為每個建立的容器自動分配乙個虛擬ip,這個虛擬ip無法從容器外側進行訪問,只是docker環境內部容器間彼此通訊的標識,容器間的網路是互通互聯的。但是通過這種虛擬ip方式,進行容器間的通訊,有一些侷限性。因為在docker中建立乙個容器非常容易,比如說新建立的mysql容器可能會替代之...

Docker 容器之間的通訊

預設情況容器和主機之間的網路通訊是封閉的,如果要讓容器能夠被外部網路訪問,需要在啟動容器的時候指定要開放的埠,這樣我們就能通過主機的網路訪問容器內提供的的服務了.我們在容器中執行了乙個web伺服器,使用者需要訪問這個容器內的資源,這裡為了方便,直接使用官方手冊裡的示例 1 命令列分解 本文把dock...

MVC之間如何通訊

ontroller model 完全允許。因為controller 要問model如何在螢幕展現內容。controller view 完全允許 通訊屬性outlet,在controller裡建立outlets傳輸到view中。model view 之間永遠不會通訊。因為model和介面沒有關係。vi...