Docker 入門教程05 關聯兩個容器 第三部分

2021-10-21 14:51:38 字數 1759 閱讀 4599

接上文

docker還定義了乙個_env_,這個引數是記錄了源容器啟動事docker的值(博主無能啊,這個沒看懂啊,一會再去研習幾遍文件)

好,我們來看一下之前的那個例子,我們可以受用env這個命令來檢視所有的環境變數

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

hostname=db5dde136f8c

db_port=tcp:

db_port_5432_tcp=tcp:

db_port_5432_tcp_addr=172.17.0.5

db_port_5432_tcp_port=5432

db_port_5432_tcp_proto=tcp

db_name=/web2/db

db_env_pg_version=9.3

home=/root

[root@fedora ~]# rpm -qa|grep docker

正如我們之前提到的,所有的變數都是以db_開頭,這個和我們 –link後的第二個db有關,如果我們變成db1,那麼所有的變數都會變成db1_,然後我們的web容器就可以使用這些環境變數來連線我們的db容器,並且,僅僅我們的web容器可以,其他的容器沒有看不到db容器

我們的環境變數僅僅是為了在容器中第一次獲取這些相關值,

更新/etc/hosts

除了環境變數,docker 增加了乙個源容器的入口在/etc/hosts中,下面我們看乙個例子

172.17.0.8 71757257a7d7

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.5 webdb 6994b57a29db db

我們看以看到第一行的資料是web這個容器的

然後最後一行,是db容器的相關資訊,我們可以直接ping webdb,或者 ping db

(ping 之前先安裝apt-get install -yqq inetutils-ping)

當我們重啟源容器,/etc/hosts檔案會自動更新

docker restart db

然後我們在看一遍

172.17.0.8 71757257a7d7

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.5 webdb 6994b57a29db db

重啟…172.17.0.8 71757257a7d7

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.9 webdb 6994b57a29db db

Docker 入門教程

冗餘步驟多。虛擬機器需要完整的作業系統,一些系統級別的操作步驟,往往無法跳過,比如使用者登入。啟動很慢。啟動作業系統需要多久,啟動虛擬機器就需要多久。可能要等幾分鐘,應用程式才能真正執行。體積小。容器只要包含用到的元件即可,而虛擬機器包含整個作業系統,所以容器檔案比虛擬機器檔案要小很多。啟動快。啟動...

Docker入門教程

mongodb由c 語言編寫,是乙個基於分布式檔案儲存的開源資料庫系統,支援的資料結構為bson格式。我們開始用docker進行部署我們的mongodb。我們從docker的官網找到mongo對應的映象 於是我們進行拉取 我們讓我們的mongodb 跑起來 docker run d p 2017 2...

Docker 一 Docker入門教程

docker client docker 命令列工具,是使用者使用docker的主要方式,docker client與docker daemon通訊並將結果返回給使用者,docker client也可以通過socket或者restful api訪問遠端的docker daemon docker co...