摘要:注該文由編寫,原文地址為接著我們前面那篇關(guān)于容器遷移的文章。我想闡述一個簡單的讓容器之間通過名字交互的技巧。容器在啟動的時候有不同的。例如,讓你的容器知道數(shù)據(jù)庫地址的變更。無論任何時候我們改變?nèi)萜?,我們更新配置文件并且獲取服務(wù)更新。
注:該文由 Vincent Viallet 編寫,原文地址為 DNS And Docker Containers
接著我們前面那篇關(guān)于容器遷移的文章。我想闡述一個簡單的讓容器之間通過名字交互的技巧。我們已經(jīng)在構(gòu)建 devo.ps 的時候使用了幾次。
手頭的問題是使用 Docker。容器在啟動的時候有不同的 IP。甚至在一個成功的數(shù)據(jù)遷移或是簡單的重起你的容器,你都需要傳播這個新信息。例如,讓你的 app 容器知道數(shù)據(jù)庫地址的變更。
當然,你也可以使用 etcd 或是相關(guān)類型的工程。但是有時有點殺雞焉用牛刀的感覺,或者是你只是簡單的沒有時間或者是沒有資源。
讓我們使用簡單的方法:簡單的設(shè)置一個 DNS。我們保持簡單并且在當前主機使用 dnsmasq,因為它也被 Docker 用于 DHCP 的目的。
讓我們開始:
dnsmasq 加載額外的配置文件
$ > cat /etc/dnsmasq.conf listen-address=0.0.0.0 interface=lo interface=eth0 interface=docker0 resolv-file=/etc/resolv.dnsmasq.conf conf-dir=/opt/docker/dnsmasq.d # <== Here !
我們使用 dnsmasq 作為它的解析器來獲取容器;通常 172.17.42.1 是你主機的 IP。
$ > docker run -d -dns 172.17.42.1 -name db -h db db_image $ > docker run -d -dns 172.17.42.1 -name app -h app app_image
無論任何時候我們改變?nèi)萜?,我們更?host 配置文件并且獲取 DNS 服務(wù)更新。
$ > container="db" $ > new_ip=$(docker inspect $container | grep IPAddress | cut -f4 -d""") $ > echo "host-record=$container,$new_ip" > /opt/docker/dnsmasq.d/0host_$container $ > service dnsmasq restart
你的 app 現(xiàn)在可以簡單的通過在它的配置文件中使用 db 作為主機來訪問它的數(shù)據(jù)庫。上面的腳本可以有一個更好方法來處理邊界情況,你可以嘗試下。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26342.html
摘要:正在學習,留著看看轉(zhuǎn)自的大坑小洼成為云計算領(lǐng)域的新寵兒已經(jīng)是不爭的事實,作為高速發(fā)展的開源項目,難免存在這樣或那樣的瑕疵。話不多說,一起來領(lǐng)略的大坑小洼。原因回歸至上文的第一個坑。如此一來,只要內(nèi)部涉及到域名解析,則立即受到影響。 正在學習Docker,留著看看 轉(zhuǎn)自Docker的大坑小洼 Docker成為云計算領(lǐng)域的新寵兒已經(jīng)是不爭的事實,作為高速發(fā)展的開源項目,難免存在這樣或那樣...
摘要:創(chuàng)建用戶組并添加用戶。默認情況下是過濾掉所有的入站規(guī)則。初始命令表示一旦容器啟動,需要運行的命令,此時使用,表示什么也不做,只需進入命令行即可。1.什么是docker docker翻譯為搬運工,在這里應(yīng)該可以理解為搬運應(yīng)用的工具,也就是云.先了解其運用場景之后更容易對他形成深刻理解. Docker提供了一種可移植的配置標準化機制,允許你一致性地在不同的機器上運行同一個Container;...
摘要:一安裝快捷安裝快捷安裝參考手動安裝先查看內(nèi)核,更新包要求系統(tǒng)的內(nèi)核版本安裝依賴包設(shè)置國內(nèi)鏡像源如果安裝過,卸載舊版本查看倉庫中所有,安裝測試啟動關(guān)閉服務(wù)加入隨機啟動二常用命令每次使用命令都需要, 一、docker安裝 1、快捷安裝 快捷安裝參考:https://get.daocloud.io/#inst... curl -sSL https://get.daocloud.io/doc...
摘要:一安裝快捷安裝快捷安裝參考手動安裝先查看內(nèi)核,更新包要求系統(tǒng)的內(nèi)核版本安裝依賴包設(shè)置國內(nèi)鏡像源如果安裝過,卸載舊版本查看倉庫中所有,安裝測試啟動關(guān)閉服務(wù)加入隨機啟動二常用命令每次使用命令都需要, 一、docker安裝 1、快捷安裝 快捷安裝參考:https://get.daocloud.io/#inst... curl -sSL https://get.daocloud.io/doc...
摘要:日志會顯示令牌過期的信息,隨后檢查主機和主機的時鐘是否同步。如果這個子網(wǎng)已經(jīng)被使用,你將需要更改網(wǎng)絡(luò)中使用的默認子網(wǎng)。如果負載均衡器處于初始化狀態(tài),則很可能主機之間無法進行跨主機通信。而一直顯示黃色初始化狀態(tài),說明一直沒有通過健康檢查。 一、服務(wù)/容器 1、為什么我只能編輯容器的名稱? Docker容器在創(chuàng)建之后就不可更改了。唯一可更改的內(nèi)容是我們要存儲的不屬于Docker容器本身的那...
閱讀 3123·2021-11-18 10:02
閱讀 2628·2021-10-13 09:47
閱讀 3077·2021-09-22 15:07
閱讀 810·2019-08-30 15:43
閱讀 1825·2019-08-30 10:59
閱讀 1706·2019-08-29 15:34
閱讀 1718·2019-08-29 15:06
閱讀 454·2019-08-29 13:28