接上文
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...