Docker?Memcached?容器化部署的實(shí)現(xiàn)
Memcached環(huán)境標(biāo)準(zhǔn)軟件基于Bitnami Memcached 構(gòu)建。當(dāng)前版本為1.6.24
你可以通過(guò)輕云UC部署工具直接安裝部署,也可以手動(dòng)按如下文檔操作,該項(xiàng)目已經(jīng)全面開(kāi)源,可以從如下環(huán)境獲取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform
什么是 Memcached?
Memcached 是一種高性能、分布式內(nèi)存對(duì)象緩存系統(tǒng),本質(zhì)上是通用的,但旨在通過(guò)減輕數(shù)據(jù)庫(kù)負(fù)載來(lái)加速動(dòng)態(tài) Web 應(yīng)用程序。
Memcached 商標(biāo)概述 :該軟件列表由 Bitnami 打包。產(chǎn)品中提到的各個(gè)商標(biāo)歸各自公司所有,使用它們并不意味著任何隸屬關(guān)系或認(rèn)可。
##長(zhǎng)話(huà)短說(shuō)
docker run --name memcached bitnami/memcached:latest
為什么使用 Bitnami 圖片?
Bitnami 密切跟蹤上游源代碼更改,并使用我們的自動(dòng)化系統(tǒng)及時(shí)發(fā)布該圖像的新版本。
通過(guò) Bitnami 鏡像,可以盡快獲得最新的錯(cuò)誤修復(fù)和功能。
Bitnami 容器、虛擬機(jī)和云映像使用相同的組件和配置方法 - 可以根據(jù)您的項(xiàng)目需求輕松在格式之間切換。
我們所有的鏡像都基于minideb - 一個(gè)基于 Debian 的極簡(jiǎn)容器鏡像,為您提供一個(gè)小型基礎(chǔ)容器鏡像和領(lǐng)先的 Linux 發(fā)行版的熟悉度 - 或從頭開(kāi)始- 一個(gè)明確的空鏡像 -。
Docker Hub 中提供的所有 Bitnami 鏡像均已使用Docker Content Trust (DCT)進(jìn)行簽名。您可以使用它DOCKER_CONTENT_TRUST=1來(lái)驗(yàn)證圖像的完整性。
Bitnami 容器鏡像定期發(fā)布,并提供最新的分發(fā)包。
希望在生產(chǎn)中使用 Memcached?嘗試VMware Tanzu 應(yīng)用程序目錄,這是 Bitnami 應(yīng)用程序目錄的企業(yè)版。
如何在 Kubernetes 中部署 Memcached?
將 Bitnami 應(yīng)用程序部署為 Helm Charts 是在 Kubernetes 上開(kāi)始使用我們的應(yīng)用程序的最簡(jiǎn)單方法。在Bitnami Memcached Chart GitHub 存儲(chǔ)庫(kù)中了解有關(guān)安裝的更多信息。
Bitnami 容器可以與Kubeapps一起使用,以在集群中部署和管理 Helm Charts。
獲取此圖像
獲取 Bitnami Memcached Docker 映像的推薦方法是從Docker Hub 中提取預(yù)構(gòu)建的映像。
docker pull bitnami/memcached:latest
要使用特定版本,您可以拉取版本化標(biāo)簽。您可以在 Docker Hub 中查看可用版本的列表。
docker pull bitnami/memcached:[TAG]
如果您愿意,您還可以通過(guò)克隆存儲(chǔ)庫(kù)、更改為包含 Dockerfile 的目錄并執(zhí)行命令來(lái)自行構(gòu)建映像docker build。請(qǐng)記住將下面示例命令中的APP,VERSION和路徑占位符替換為正確的值。OPERATING-SYSTEM
git clone https://github.com/bitnami/containers.git cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
連接到其他容器
使用Docker 容器網(wǎng)絡(luò),應(yīng)用程序容器可以輕松訪問(wèn)容器內(nèi)運(yùn)行的 Memcached 服務(wù)器。
連接到同一網(wǎng)絡(luò)的容器可以使用容器名稱(chēng)作為主機(jī)名來(lái)相互通信。
使用命令行
第 1 步:創(chuàng)建網(wǎng)絡(luò)
docker network create app-tier --driver bridge
步驟 2:?jiǎn)?dòng) Memcached 服務(wù)器實(shí)例
使用命令–network app-tier的參數(shù)docker run將 Memcached 容器連接到網(wǎng)絡(luò)app-tier。
docker run -d --name memcached-server \ --network app-tier \ bitnami/memcached:latest
第 3 步:?jiǎn)?dòng)應(yīng)用程序容器
docker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE
重要的:
請(qǐng)使用您的應(yīng)用程序圖片更新上述代碼段中的YOUR_APPLICATION_IMAGE_占位符
在您的應(yīng)用程序容器中,使用主機(jī)名memcached-server連接到 Memcached 服務(wù)器
使用 Docker Compose 文件
如果未指定,Docker Compose 會(huì)自動(dòng)設(shè)置一個(gè)新網(wǎng)絡(luò)并將所有已部署的服務(wù)附加到該網(wǎng)絡(luò)。但是,我們將顯式定義一個(gè)bridge名為 的新網(wǎng)絡(luò)app-tier。在此示例中,我們假設(shè)您希望從您自己的自定義應(yīng)用程序映像連接到 Memcached 服務(wù)器,該映像在以下代碼段中通過(guò)服務(wù)名稱(chēng)進(jìn)行標(biāo)識(shí)myapp。
version: '2' networks: app-tier: driver: bridge services: memcached: image: 'bitnami/memcached:latest' networks: - app-tier myapp: image: 'YOUR_APPLICATION_IMAGE' networks: - app-tier
重要的:
請(qǐng)使用您的應(yīng)用程序圖片更新上述代碼段中的YOUR_APPLICATION_IMAGE_占位符
在您的應(yīng)用程序容器中,使用主機(jī)名memcached連接到 Memcached 服務(wù)器.
使用以下命令啟動(dòng)容器:
docker-compose up -d
配置
環(huán)境變量
可定制的環(huán)境變量
Name | Description | Default Value |
---|---|---|
MEMCACHED_PORT_NUMBER | Memcached 使用的端口號(hào) | 11211 |
MEMCACHED_USERNAME | Memcached admin 用戶(hù)名。 | root |
MEMCACHED_MAX_TIMEOUT | Memcached 啟動(dòng)或停止的最大超時(shí)(以秒為單位) | 5 |
只讀環(huán)境變量
Name | Description | Value |
---|---|---|
MEMCACHED_BASE_DIR | Memcached 安裝目錄 | ${BITNAMI_ROOT_DIR}/memcached |
MEMCACHED_CONF_DIR | Memcached 配置目錄。 | ${MEMCACHED_BASE_DIR}/conf |
MEMCACHED_DEFAULT_CONF_DIR | Memcached 配置目錄 | ${MEMCACHED_BASE_DIR}/conf.default |
MEMCACHED_BIN_DIR | 二進(jìn)制可執(zhí)行文件的 Memcached 目錄。 | ${MEMCACHED_BASE_DIR}/bin |
MEMCACHED_TMP_DIR | Memcached 臨時(shí)文件目錄。 | ${MEMCACHED_BASE_DIR}/tmp |
MEMCACHED_LOGS_DIR | Memcached 日志目錄。 | ${MEMCACHED_BASE_DIR}/logs |
MEMCACHED_LOG_FILE | Memcached 日志文件的路徑。 | ${MEMCACHED_LOGS_DIR}/memcached.log |
MEMCACHED_PID_FILE | Memcached PID 文件的路徑。 | ${MEMCACHED_TMP_DIR}/memcached.pid |
SASL_CONF_PATH | Memcached SASL 配置目錄。 | ${MEMCACHED_CONF_DIR}/sasl2 |
SASL_CONF_FILE | Memcached SASL 配置 | ${SASL_CONF_PATH}/memcached.conf |
SASL_DB_FILE | Memcached SASL 數(shù)據(jù)庫(kù)文件。 | ${SASL_CONF_PATH}/memcachedsasldb |
MEMCACHED_DAEMON_USER | Memcached 系統(tǒng)用戶(hù)。 | memcached |
MEMCACHED_DAEMON_GROUP | Memcached 系統(tǒng)組。 | memcached |
指定緩存大小
默認(rèn)情況下,Bitnami Memcached 容器不會(huì)指定任何緩存大小,并將以 Memcached 默認(rèn)值 (64MB) 啟動(dòng)。您可以使用環(huán)境變量指定不同的值MEMCACHED_CACHE_SIZE(以 MB 為單位)。
docker run --name memcached -e MEMCACHED_CACHE_SIZE=128 bitnami/memcached:latest
或者通過(guò)修改docker-compose.yml此存儲(chǔ)庫(kù)中存在的文件:
services: memcached: ... environment: - MEMCACHED_CACHE_SIZE=128 ...
指定最大并發(fā)連接數(shù)
默認(rèn)情況下,Bitnami Memcached 容器不會(huì)指定任何最大并發(fā)連接數(shù),并將以 Memcached 默認(rèn)值(1024 個(gè)并發(fā)連接)啟動(dòng)。您可以使用環(huán)境變量指定不同的值MEMCACHED_MAX_CONNECTIONS。
docker run --name memcached -e MEMCACHED_MAX_CONNECTIONS=2000 bitnami/memcached:latest
或者通過(guò)修改docker-compose.yml此存儲(chǔ)庫(kù)中存在的文件:
services: memcached: ... environment: - MEMCACHED_MAX_CONNECTIONS=2000 ...
指定處理請(qǐng)求的線程數(shù)
默認(rèn)情況下,Bitnami Memcached 容器不會(huì)指定處理請(qǐng)求的線程數(shù)量,并且將從 Memcached 默認(rèn)值(4 個(gè)線程)開(kāi)始。您可以使用環(huán)境變量指定不同的值MEMCACHED_THREADS。
docker run --name memcached -e MEMCACHED_THREADS=4 bitnami/memcached:latest
或者通過(guò)修改docker-compose.yml此存儲(chǔ)庫(kù)中存在的文件:
services: memcached: ... environment: - MEMCACHED_THREADS=4 ...
指定最大項(xiàng)目尺寸(板尺寸)
默認(rèn)情況下,Memcached 容器不會(huì)指定任何最大項(xiàng)目大小,并將以 Memcached 默認(rèn)值(1048576 ~ 1 MB)開(kāi)始。您可以使用環(huán)境變量指定不同的值MEMCACHED_MAX_ITEM_SIZE。僅接受數(shù)字值 - 使用8388608而不是8m
docker run --name memcached -e MEMCACHED_MAX_ITEM_SIZE=8388608 bitnami/memcached:latest
或者通過(guò)修改docker-compose.yml此存儲(chǔ)庫(kù)中存在的文件:
services: memcached: ... environment: - MEMCACHED_MAX_ITEM_SIZE=8388608 ...
創(chuàng)建 Memcached 管理員用戶(hù)
默認(rèn)情況下,Memcached 服務(wù)器上的身份驗(yàn)證處于禁用狀態(tài)。MEMCACHED_PASSWORD要啟用身份驗(yàn)證,請(qǐng)使用環(huán)境變量(或在 中指定的文件內(nèi)容中MEMCACHED_PASSWORD_FILE)指定 Memcached 管理員用戶(hù)的密碼。
要自定義 Memcached 管理員用戶(hù)的用戶(hù)名(默認(rèn)為 ) ,應(yīng)指定root該變量。MEMCACHED_USERNAME
docker run --name memcached \ -e MEMCACHED_USERNAME=my_user \ -e MEMCACHED_PASSWORD=my_password \ bitnami/memcached:latest
或者通過(guò)修改docker-compose.yml此存儲(chǔ)庫(kù)中存在的文件:
version: '2' services: memcached: ... environment: - MEMCACHED_USERNAME=my_user - MEMCACHED_PASSWORD=my_password ...
MEMCACHED_USERNAME的默認(rèn)值為root。
將額外的命令行標(biāo)志傳遞給 memcached
通過(guò)將額外的命令行標(biāo)志添加為run.sh腳本的參數(shù),可以將額外的命令行標(biāo)志傳遞給 Memcached 服務(wù)命令:
docker run --name memcached bitnami/memcached:latest /opt/bitnami/scripts/memcached/run.sh -vvv
或者,修改docker-compose.yml此存儲(chǔ)庫(kù)中存在的文件:
services: memcached: ... command: /opt/bitnami/scripts/memcached/run.sh -vvv ...
有關(guān)完整參數(shù)列表,請(qǐng)參閱Memcached 手冊(cè)頁(yè)。
使用自定義 SASL 配置
為了加載您自己的 SASL 配置文件,您必須使它們可供容器使用。您可以執(zhí)行以下操作:
- 使用您的自定義配置安裝卷
- 通過(guò)環(huán)境變量添加自定義配置。
默認(rèn)情況下,啟用身份驗(yàn)證后,Memcached 的 SASL 配置將寫(xiě)入/opt/bitnami/memcached/sasl2/memcached.conf包含以下內(nèi)容的文件:
mech_list: plain sasldb_path: /opt/bitnami/memcached/conf/memcachedsasldb
這/opt/bitnami/memcached/conf/memcachedsasldb是包含 Memcached 用戶(hù)列表的 sasldb 文件的路徑。
記錄
Bitnami Memcached Docker 映像將容器日志發(fā)送到stdout. 要查看日志:
docker logs memcached
或使用 Docker Compose:
docker-compose logs memcached
如果您希望以不同方式使用容器日志,您可以使用該選項(xiàng)配置容器日志記錄驅(qū)動(dòng)程序。–log-driver在默認(rèn)配置中,docker 使用json-file驅(qū)動(dòng)程序。
維護(hù)
升級(jí)此圖像
Bitnami 在上游發(fā)布后不久就提供了最新版本的 Memcached,包括安全補(bǔ)丁。我們建議您按照以下步驟升級(jí)容器。
第 1 步:獲取更新后的圖像
docker pull bitnami/memcached:latest
或者,如果您使用的是 Docker Compose,請(qǐng)將 image 屬性的值更新為 bitnami/memcached:latest.
第2步:刪除當(dāng)前正在運(yùn)行的容器
docker rm -v memcached
或使用 Docker Compose:
docker-compose rm -v memcached
第 3 步:運(yùn)行新鏡像
從新映像重新創(chuàng)建容器。
docker run --name memcached bitnami/memcached:latest
或使用 Docker Compose:
docker-compose up memcached
到此這篇關(guān)于Docker Memcached 容器化部署的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker Memcached 容器化部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker部署Tomcat并開(kāi)放8082端口的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署Tomcat并開(kāi)放8082端口的實(shí)現(xiàn)步驟,首先安裝docker環(huán)境,創(chuàng)建tomcat鏡像,隨后開(kāi)放端口,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10docker-compose如何實(shí)現(xiàn)滾動(dòng)更新
這篇文章主要介紹了docker-compose如何實(shí)現(xiàn)滾動(dòng)更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05從Docker容器中備份整個(gè)PostgreSQL的操作步驟
現(xiàn)在需要從Docker容器中備份整個(gè)PostgreSQL后,然后,使用備份文件在另外一個(gè)pg的docker容器中恢復(fù)過(guò)來(lái),所以本文給大家介紹了從Docker容器中備份整個(gè)PostgreSQL的操作步驟,通過(guò)代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-10-10Docker Overlay2磁盤(pán)空間占用過(guò)大清理的方法實(shí)現(xiàn)
隨著業(yè)務(wù)量的不斷增大,容器的不斷啟動(dòng),往往會(huì)出現(xiàn)磁盤(pán)空間不足,本文主要介紹了Docker Overlay2磁盤(pán)空間占用過(guò)大清理的方法實(shí)現(xiàn),感興趣的可以了解一下2022-03-03Docker 阿里云鏡像倉(cāng)庫(kù)CR使用小結(jié)
阿里云提供了免費(fèi)的容器鏡像服務(wù),更重要的是支持公開(kāi)和私有倉(cāng)庫(kù),本文主要介紹了Docker 阿里云鏡像倉(cāng)庫(kù)CR使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Docker如何使用nginx搭建tomcat集群(圖文詳解)
這篇文章主要介紹了Docker使用nginx搭建tomcat集群的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12