亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

使用Docker過(guò)程中注意事項(xiàng)

zzbo / 1048人閱讀

摘要:本文以技術(shù)棧為例,列舉并解釋了一些面向進(jìn)行應(yīng)用程序開(kāi)發(fā)和系統(tǒng)搭建中所需要注意的問(wèn)題和技巧,以及平臺(tái)在管理和幫助企業(yè)應(yīng)用向轉(zhuǎn)化中的作用。我們總結(jié)基于的組件的使用注意事項(xiàng)如下的外部存儲(chǔ)掛載被開(kāi)啟無(wú)論是還是模式,都會(huì)需要在硬盤(pán)上進(jìn)行存儲(chǔ)。

本文以技術(shù)棧Redis為例,列舉并解釋了一些面向Docker進(jìn)行應(yīng)用程序開(kāi)發(fā)和系統(tǒng)搭建中所需要注意的問(wèn)題和技巧,以及Caicloud平臺(tái)在Docker管理和幫助企業(yè)應(yīng)用向Docker轉(zhuǎn)化中的作用。由于應(yīng)用程序千差萬(wàn)別,應(yīng)用場(chǎng)景層出不窮,本文僅起到拋磚引玉的作用。

我們總結(jié)基于Docker的Redis組件的使用注意事項(xiàng)如下:

Redis的外部存儲(chǔ)掛載

Persistence被開(kāi)啟:無(wú)論是RDB還是AOF模式,都會(huì)需要在硬盤(pán)上進(jìn)行存儲(chǔ)。以RDB為例,會(huì)自動(dòng)存在本地硬盤(pán)一個(gè)叫dump.rdb的文件。如果沒(méi)有掛載外部存儲(chǔ),這些數(shù)據(jù)在docker銷(xiāo)毀后會(huì)消失。

主從設(shè)置下Replication對(duì)硬盤(pán)的需求:在Redis 2.8以前,Master與Slave的同步需要用存儲(chǔ)(硬盤(pán))作為中間媒介(自2.8此同步可不經(jīng)過(guò)硬盤(pán),但還屬于試驗(yàn)內(nèi)容)。在Docker環(huán)境下需要掛載Volume以保證這個(gè)步驟能正常運(yùn)行。

Redis不能跑在daemonize的模式

Docker的容器需要其中的主進(jìn)程一直在前端運(yùn)行,使用daemonize的模式會(huì)使得container在運(yùn)行后立即退出。幸運(yùn)的是在Redis的配置文件中daemonize模式默認(rèn)被關(guān)閉。如需運(yùn)行daemon模式,應(yīng)該在docker層面通過(guò)-d命令來(lái)進(jìn)行。

Redis的日志文件目錄應(yīng)置為空

Docker的容器所產(chǎn)生的日志會(huì)被系統(tǒng)自動(dòng)接收和管理;同時(shí)Caicloud的集群管理平臺(tái)更會(huì)監(jiān)測(cè)和聚合系統(tǒng)中所有容器的日志。因此在配置文件中將logfile設(shè)為空會(huì)享受Docker和Caicloud的自動(dòng)日志收集和管理。

Redis Snapshot的注意事項(xiàng)

在主從結(jié)構(gòu)下Snapshot應(yīng)開(kāi)啟:如果在Redis的Master節(jié)點(diǎn)上配置了Persistenceoff (數(shù)據(jù)不會(huì)自動(dòng)存儲(chǔ)到硬盤(pán)上),那么我們同時(shí)還應(yīng)該關(guān)掉Master節(jié)點(diǎn)的自動(dòng)重啟功能。由于Caicloud的自動(dòng)修復(fù)功能會(huì)重啟實(shí)效的容器(包括RedisMaster),我們應(yīng)開(kāi)啟Snapshot功能。

對(duì)Persistence的需求:Redis會(huì)把Snapshot產(chǎn)生的rdb文件寫(xiě)在指定的目錄中。默認(rèn)情況下這個(gè)對(duì)應(yīng)在Docker內(nèi)部的一個(gè)目錄,會(huì)隨著Docker的銷(xiāo)毀而銷(xiāo)毀。如果有Persistence的需求,應(yīng)該在生成Dockerfile和運(yùn)行Redis容器時(shí)同時(shí)掛載外部的存儲(chǔ)。

Redis的端口映射

Docker的容器在運(yùn)行時(shí)默認(rèn)會(huì)將容器內(nèi)的應(yīng)用端口映射成一個(gè)隨機(jī)的主機(jī)端口,但這樣會(huì)打破一些Redis服務(wù)。比如sentinel需要根據(jù)默認(rèn)端口規(guī)則 (26379) 來(lái)進(jìn)行自動(dòng)發(fā)現(xiàn)。因此在Docker下運(yùn)行Redis一定要使用 –p port:port的格式來(lái)明確使用默認(rèn)的Redis端口規(guī)則。

Redis主從結(jié)構(gòu)中的Master節(jié)點(diǎn)的發(fā)現(xiàn)

在主從結(jié)構(gòu)中,從節(jié)點(diǎn)(slave)需要在配置文件中使用Master節(jié)點(diǎn)的IP,來(lái)實(shí)現(xiàn)與Master節(jié)點(diǎn)的互連。傳統(tǒng)架構(gòu)中這個(gè)IP可以預(yù)先通過(guò)靜態(tài)綁定。在Caicloud體系中,系統(tǒng)不需要靜態(tài)綁定具體的IP地址,而是可以通過(guò)DNS動(dòng)態(tài)地發(fā)現(xiàn),并通過(guò)運(yùn)行Docker時(shí)的CMD命令來(lái)使用特定的腳本將Master IP動(dòng)態(tài)添加到配置中。

多個(gè)Redis集群共存的情況

Caicloud下不會(huì)出現(xiàn)兩個(gè)Redis Cluster混為一起(https://www.oschina.net/news/67037/container-redis-accident)的情況,因?yàn)镃aicloud的獨(dú)特網(wǎng)絡(luò)特性(扁平化,每個(gè)機(jī)器有自己的網(wǎng)段)。如例子中提到的兩個(gè)Redis 集群混在一起需要如下條件:

在某一個(gè)物理機(jī)上運(yùn)行來(lái)自兩個(gè)Redis 集群的server 實(shí)例(from cluster A and cluster B);

在兩個(gè)Redis 集群中存在兩個(gè)server 實(shí)例(from cluster A and cluster B)碰巧有同樣的IP(在純Docker環(huán)境下有可能,因?yàn)槊總€(gè)主機(jī)上的Docker會(huì)隨機(jī)分配網(wǎng)段和IP)

在Caicloud環(huán)境下,每個(gè)Redis server都會(huì)被分配一個(gè)不同的IP,每?jī)蓚€(gè)Redis server 的IP必定不相同(每個(gè)機(jī)器有自己的網(wǎng)段,所以不同機(jī)器上的Docker在給container分配地址的時(shí)候不會(huì)撞車(chē))。

(如果需要轉(zhuǎn)載,請(qǐng)聯(lián)系我們哦,尊重知識(shí)產(chǎn)權(quán)人人有責(zé))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26527.html

相關(guān)文章

  • Docker machine安裝過(guò)程

    摘要:是官方提供的一個(gè)工具,在集群環(huán)境中它可以幫助我們?cè)谶h(yuǎn)程的機(jī)器上安裝。安裝新版本中和版的已經(jīng)集成了,系統(tǒng)中需要自己手動(dòng)安裝。這樣做是為了讓能夠免密登陸到其他機(jī)器來(lái)執(zhí)行安裝命令。而并不是簡(jiǎn)單的安裝使用。 Docker Machine?是 Docker 官方提供的一個(gè)工具,在集群環(huán)境中它可以幫助我們?cè)谶h(yuǎn)程的機(jī)器上安裝 Dockerr。我們還可以通過(guò) docker-machine 命令來(lái)管理這...

    Zack 評(píng)論0 收藏0
  • 30 分鐘快速入門(mén) Docker 教程

    摘要:分鐘快速入門(mén)教程一歡迎來(lái)到世界與虛擬化在沒(méi)有的時(shí)代,我們會(huì)使用硬件虛擬化虛擬機(jī)以提供隔離。倉(cāng)庫(kù)分為公開(kāi)倉(cāng)庫(kù)和私有倉(cāng)庫(kù),最大的公開(kāi)倉(cāng)庫(kù)是官方倉(cāng)庫(kù),國(guó)內(nèi)的公開(kāi)倉(cāng)庫(kù)也有很多選擇,例如阿里云等。 30 分鐘快速入門(mén) Docker 教程 一、歡迎來(lái)到 Docker 世界 1. Docker 與虛擬化 在沒(méi)有 Docker 的時(shí)代,我們會(huì)使用硬件虛擬化(虛擬機(jī))以提供隔離。這里,虛擬機(jī)通過(guò)在操作系...

    LucasTwilight 評(píng)論0 收藏0
  • 輕松搞定|將PHP和Couchbase應(yīng)用部署為Docker

    摘要:此時(shí),可以構(gòu)建映像,并將其部署為容器。從執(zhí)行以下操作以上命令將使用文件中定義的端口,構(gòu)建對(duì)應(yīng)鏡像和部署成為容器。 showImg(https://segmentfault.com/img/remote/1460000010122752); 數(shù)人云之前分享了《如何用Docker實(shí)現(xiàn)PHP命令行程序的CI/CD》,詳細(xì)地介紹了整體過(guò)程中的思路以及以及注意事項(xiàng),今天帶來(lái)的文章將闡述怎樣部署一...

    X1nFLY 評(píng)論0 收藏0
  • 30 分鐘快速入門(mén) Docker 教程

    摘要:分鐘快速入門(mén)教程一歡迎來(lái)到世界與虛擬化在沒(méi)有的時(shí)代,我們會(huì)使用硬件虛擬化虛擬機(jī)以提供隔離。倉(cāng)庫(kù)分為公開(kāi)倉(cāng)庫(kù)和私有倉(cāng)庫(kù),最大的公開(kāi)倉(cāng)庫(kù)是官方倉(cāng)庫(kù),國(guó)內(nèi)的公開(kāi)倉(cāng)庫(kù)也有很多選擇,例如阿里云等。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關(guān)注公眾號(hào):「服務(wù)端思維」。一群同頻者,一起成長(zhǎng),一起精進(jìn),打破認(rèn)知的局限性。 30 分鐘快速入門(mén) Docker 教程...

    Binguner 評(píng)論0 收藏0
  • 30 分鐘快速入門(mén) Docker 教程

    摘要:分鐘快速入門(mén)教程一歡迎來(lái)到世界與虛擬化在沒(méi)有的時(shí)代,我們會(huì)使用硬件虛擬化虛擬機(jī)以提供隔離。倉(cāng)庫(kù)分為公開(kāi)倉(cāng)庫(kù)和私有倉(cāng)庫(kù),最大的公開(kāi)倉(cāng)庫(kù)是官方倉(cāng)庫(kù),國(guó)內(nèi)的公開(kāi)倉(cāng)庫(kù)也有很多選擇,例如阿里云等。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關(guān)注公眾號(hào):「服務(wù)端思維」。一群同頻者,一起成長(zhǎng),一起精進(jìn),打破認(rèn)知的局限性。 30 分鐘快速入門(mén) Docker 教程...

    yexiaobai 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<