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