人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

淺談Docker如何自定義host文件

發(fā)布日期:2021-12-13 11:16 | 文章來(lái)源:gibhub

1、問(wèn):我們的真正開(kāi)發(fā)的時(shí)候數(shù)據(jù)庫(kù)都是部署在內(nèi)網(wǎng)的,而我們程序連接數(shù)據(jù)庫(kù)的時(shí)候,需要指定內(nèi)網(wǎng)的地址。但是有時(shí)候我們需要遷移環(huán)境,那么我們的后端代碼就得跟著進(jìn)行修改,有沒(méi)有一種好的辦法,不讓我們修改代碼嗎?

答:可以肯定的說(shuō)是有的,那就是在代碼中指定的不是IP地址,而是域名。我們只需要配置域名和IP地址建立映射關(guān)系,所有的項(xiàng)目都無(wú)需更改代碼就可以達(dá)到目的。

2、問(wèn):正式環(huán)境一般都是集群的形式,至少三臺(tái)服務(wù)器,我們需要買三個(gè)域名嗎?而且域名只能綁定公網(wǎng)IP,我們能把數(shù)據(jù)庫(kù)公開(kāi)到外網(wǎng)嗎?為了安全,沒(méi)人會(huì)把數(shù)據(jù)庫(kù)公開(kāi)到外網(wǎng)的。那該怎么辦呢?

答:那就是修改host文件,在host自定義我們的域名和數(shù)據(jù)庫(kù)集群的內(nèi)網(wǎng)IP。在物理機(jī)linux上,直接修改/etc/host文件即可。

如果我們的服務(wù)以docker的形式部署在linux上。那么docker中的host怎么修改呢?

一、命令

一般正式環(huán)境的鏡像都是提前編譯好的,如果不是采取docker-compose編譯的鏡像,很難修改host,所以我們只能在啟動(dòng)的時(shí)候通過(guò)參數(shù)配置。

docker run --add-host=www.scalerwang.com:192.168.1.100 --add-host=blog.scalerwang.com:192.168.1.200 --name wangscaler -it mydocker

使用命令參數(shù)指定--add-host

二、docker-compose.yml

在yml中指定,編譯的docker容器自動(dòng)配置host文件,yaml相關(guān)內(nèi)容如下

services:
  service-nginx:
    image: nginx
    extra_hosts:
    - "www.scalerwang.com:192.168.1.100"
    - "blog.scalerwang.com:192.168.1.200"

三、dockerfile

dockerfile沒(méi)有直接的參數(shù)可以直接修改host文件,如果想通過(guò)dockerfile修改host文件,需要事先準(zhǔn)備好host文件放在你的代碼根目錄下

MAINTAINER WangScaler@163.com
ADD / /wangscaler
RUN cat /wangscaler/hosts >> /etc/hosts

如此也是可以的。

四、直接修改

如果你不嫌費(fèi)勁的話,可以試試。當(dāng)然如果你的程序以后臺(tái)啟動(dòng),你環(huán)境不對(duì)啟動(dòng)不起來(lái)的話,你也不能進(jìn)去修改。
這個(gè)方法一是累人(集群數(shù)量越多越累),二是不適用(docker沒(méi)這個(gè)正確的host跑不起來(lái),還有可能你設(shè)置的域名正是別人的,那就向人家發(fā)起請(qǐng)求了)。

五、修改鏡像

如果你的項(xiàng)目以docker的形式部署,往往都是先通過(guò)dockerfile、docker-compose編譯成鏡像。這時(shí)候你可以把鏡像拉下來(lái),修改完host再重新推上去覆蓋原來(lái)的鏡像。

總結(jié)

最好用的方法就是前兩種,省時(shí)省力,一次性搞定。如果你是dockerfile編譯的鏡像,就選第一種;如果你是docker-compose編譯的就直接再docker-compose.yml修改好,一勞永逸。第三種也是可以接受的,但是后兩種你就當(dāng)不知道,不要嘗試去做。
Docker的更多使用方法,比如創(chuàng)建容器時(shí)指定IP地址、以及上述所提到的dockerfile和docker-compose創(chuàng)建容器的方式等等,請(qǐng)參考往期文章Docker的搭建及基本命令。

到此這篇關(guān)于淺談Docker如何自定義host文件的文章就介紹到這了,更多相關(guān)Docker自定義host文件內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部