欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用docker實(shí)現(xiàn)Redis主從配置的示例代碼

 更新時間:2025年09月25日 10:04:39   作者:Henry_Wu001  
在三臺服務(wù)器上用Docker部署Redis主從模式:Server1作為主節(jié)點(diǎn),Server2和Server3配置為從節(jié)點(diǎn)并連接主節(jié)點(diǎn),通過環(huán)境變量指定主IP,驗(yàn)證復(fù)制狀態(tài)以確保高可用性

初始條件

在三臺不同服務(wù)器上使用 Docker 部署 Redis 主從模式,通常有以下步驟。
假設(shè)你有三臺服務(wù)器,分別為 server1、server2 和 server3,我們將在這些服務(wù)器上設(shè)置 Redis 的主從復(fù)制。

步驟

準(zhǔn)備 Redis 配置文件:每臺服務(wù)器上的 Redis 實(shí)例需要配置主從關(guān)系。
在三臺服務(wù)器上啟動 Docker 容器:在每臺服務(wù)器上分別啟動 Redis 容器,其中兩臺作為從節(jié)點(diǎn),一臺作為主節(jié)點(diǎn)。
配置主從復(fù)制:在從節(jié)點(diǎn)上配置連接到主節(jié)點(diǎn)。

步驟 1:準(zhǔn)備 Docker 環(huán)境

在每臺服務(wù)器上安裝 Docker,并確保它們能夠相互通信。如果你使用 Docker Compose,也可以通過配置 docker-compose.yml 文件來簡化配置。

步驟 2:啟動 Redis 容器

你需要在三臺服務(wù)器上啟動 Redis 容器。以下是如何在每臺服務(wù)器上啟動 Redis 實(shí)例的步驟。

  1. 啟動主節(jié)點(diǎn)(Server1)
    在 server1 上啟動主節(jié)點(diǎn) Redis:
docker run -d \
  --name redis-master \
  --restart always \
  -p 6379:6379 \
  redis:latest

此命令會啟動一個 Redis 容器并將其設(shè)置為主節(jié)點(diǎn)。6379 是 Redis 的默認(rèn)端口。

  1. 啟動從節(jié)點(diǎn)(Server2)
    在 server2 上啟動一個從節(jié)點(diǎn) Redis,并連接到 server1 上的主節(jié)點(diǎn):
docker run -d \
  --name redis-slave1 \
  --restart always \
  -e REDIS_REPLICATION_MODE=slave \
  -e REDIS_MASTER_HOST=<server1_ip> \
  -e REDIS_MASTER_PORT=6379 \
  -p 6380:6379 \
  redis:latest

這里,<server1_ip> 是 server1 的 IP 地址,redis-slave1 是從節(jié)點(diǎn)的名稱。通過環(huán)境變量來指定從節(jié)點(diǎn)連接到主節(jié)點(diǎn)。

  1. 啟動從節(jié)點(diǎn)(Server3)
    在 server3 上啟動另一個從節(jié)點(diǎn) Redis,并連接到 server1 上的主節(jié)點(diǎn):
docker run -d \
  --name redis-slave2 \
  --restart always \
  -e REDIS_REPLICATION_MODE=slave \
  -e REDIS_MASTER_HOST=<server1_ip> \
  -e REDIS_MASTER_PORT=6379 \
  -p 6381:6379 \
  redis:latest

同樣,替換 <server1_ip> 為主節(jié)點(diǎn)的 IP 地址。

步驟 3:配置主從復(fù)制
Redis 會自動通過容器的環(huán)境變量配置主從關(guān)系,但是你可以通過連接到從節(jié)點(diǎn)并手動配置主從關(guān)系來確保一切正常。

  1. 進(jìn)入從節(jié)點(diǎn)容器并配置主從關(guān)系
docker exec -it redis-slave1 redis-cli

連接到從節(jié)點(diǎn)后,執(zhí)行以下命令以確保它正確地配置了主從復(fù)制:

SLAVEOF <server1_ip> 6379

同樣,在 redis-slave2 上執(zhí)行相同的操作:

docker exec -it redis-slave2 redis-cli
SLAVEOF <server1_ip> 6379

步驟 4:驗(yàn)證主從復(fù)制是否成功
你可以使用以下命令來檢查主從關(guān)系是否正常工作:

連接到主節(jié)點(diǎn)(server1):

docker exec -it redis-master redis-cli

在主節(jié)點(diǎn)上執(zhí)行命令查看從節(jié)點(diǎn):

INFO replication

你應(yīng)該能看到類似以下的輸出,顯示從節(jié)點(diǎn)已連接:

localhost:6379[1]> INFO replication

# Replication
role:master
connected_slaves:2
slave0:ip=172.16.100.121,port=6379,state=online,offset=7873245,lag=0
slave1:ip=172.16.100.122,port=6379,state=online,offset=7793351,lag=1
master_failover_state:no-failover
master_replid:0ab711eb4e43cf51c349e232042f3ef01b009c72
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:7874805
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:6826230
repl_backlog_histlen:1048576

連接到從節(jié)點(diǎn)(server2 或 server3):

docker exec -it redis-slave1 redis-cli

在從節(jié)點(diǎn)上執(zhí)行命令查看主節(jié)點(diǎn)信息:

INFO replication

輸出應(yīng)顯示從節(jié)點(diǎn)已正確連接到主節(jié)點(diǎn),如下所示:

# Replication
role:slave
master_host:172.16.100.102
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_read_repl_offset:48479646
slave_repl_offset:48479646
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:0ab711eb4e43cf51c349e232042f3ef01b009c72
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:48479646
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:47431071
repl_backlog_histlen:1048576

步驟 5:持久化配置(可選)
為了確保 Redis 數(shù)據(jù)在重啟后依然有效,你可以為 Redis 配置持久化機(jī)制??梢酝ㄟ^修改 Redis 配置文件或使用 Docker 掛載數(shù)據(jù)卷來實(shí)現(xiàn)。

docker run -d \
  --name redis-master \
  --restart always \
  -v /path/to/data:/data \
  -p 6379:6379 \
  redis:latest

這樣,Redis 數(shù)據(jù)將保存在本地磁盤,而不是容器的默認(rèn)文件系統(tǒng)中。

總結(jié)

主節(jié)點(diǎn):在 server1 上啟動一個 Redis 實(shí)例。
從節(jié)點(diǎn):在 server2 和 server3 上啟動兩個 Redis 從節(jié)點(diǎn),并將它們配置為從屬于 server1。
驗(yàn)證復(fù)制:通過 INFO replication 命令驗(yàn)證主從關(guān)系是否正確。
通過這種方式,你可以在三臺服務(wù)器上使用 Docker 部署一個高可用的 Redis 主從模式。

到此這篇關(guān)于用docker實(shí)現(xiàn)Redis主從配置的示例代碼的文章就介紹到這了,更多相關(guān)docker Redis主從配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mac?OS如何添加docker環(huán)境變量

    Mac?OS如何添加docker環(huán)境變量

    安裝Docker?Desktop后需手動將CLI路徑添加至/etc/paths.d文件,以恢復(fù)命令行工具,通過創(chuàng)建對應(yīng)文件并設(shè)置路徑,重啟終端后環(huán)境變量生效,即可正常使用Docker?CLI
    2025-07-07
  • Linux下docker安裝mysql8并配置遠(yuǎn)程連接

    Linux下docker安裝mysql8并配置遠(yuǎn)程連接

    本文主要介紹了Linux下docker安裝mysql8并配置遠(yuǎn)程連接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 在docker中配置Oracle11g的過程

    在docker中配置Oracle11g的過程

    這篇文章主要介紹了在docker中配置Oracle11g?,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • CentOS8下的Docker使用詳解

    CentOS8下的Docker使用詳解

    這篇文章主要介紹了CentOS8下的Docker使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • docker安裝nginx并部署前端項(xiàng)目的全過程

    docker安裝nginx并部署前端項(xiàng)目的全過程

    作為一個前端,代碼寫完,最后部署到服務(wù)器,這是一個必須要了解的過程,這篇文章主要給大家介紹了關(guān)于docker安裝nginx并部署前端項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫超詳細(xì)攻略

    Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫超詳細(xì)攻略

    Docker倉庫是集中存放鏡像的地方,分為公共倉庫和私有倉庫,這篇文章主要給大家介紹了關(guān)于Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • Docker 設(shè)置代理的三種方法(2025年06月03日親測可用)

    Docker 設(shè)置代理的三種方法(2025年06月03日親測可用)

    在Docker中設(shè)置代理是非常常見的需求,本文將介紹三種配置Docker使用代理的常見方法,包括通過配置鏡像加速器、通過配置HTTP/HTTPS代理及通過配置代理,感興趣的可以了解一下
    2025-09-09
  • Docker Desktop如何設(shè)置鏡像環(huán)境變量

    Docker Desktop如何設(shè)置鏡像環(huán)境變量

    Docker Desktop配置鏡像環(huán)境變量需設(shè)置容器名稱、端口映射、卷和環(huán)境變量,如PostgreSQL需指定POSTGRES_PASSWORD,建議按需配置,以確保數(shù)據(jù)持久化和參數(shù)傳遞
    2025-07-07
  • k8s手動拉取docker鏡像的方法示例

    k8s手動拉取docker鏡像的方法示例

    docker是一種便捷的容器化解決方案,它可以通過拉取鏡像的方式輕松地部署和管理應(yīng)用程序,本文主要介紹了k8s手動拉取docker鏡像的方法示例,感興趣的可以了解一下
    2024-02-02
  • Next.js?Docker鏡像私有部署從零實(shí)現(xiàn)

    Next.js?Docker鏡像私有部署從零實(shí)現(xiàn)

    這篇文章主要為大家介紹了Next.js?Docker鏡像私有部署從零實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評論