溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker compose如何啟動(dòng)redis多機(jī)集群

發(fā)布時(shí)間:2022-07-14 09:54:41 來(lái)源:億速云 閱讀:181 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了docker compose如何啟動(dòng)redis多機(jī)集群的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇docker compose如何啟動(dòng)redis多機(jī)集群文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

    1. 環(huán)境說(shuō)明

    節(jié)點(diǎn)IP
    redis-node-110.10.239.31
    redis-node-210.10.239.32
    redis-node-310.10.239.33
    redis-node-410.10.239.34
    redis-node-510.10.239.35
    redis-node-610.10.239.36

    2. 集群部署

    redis-node-1

    yml 文件

    version: '2.2'
    services:
      redis-node-1:
        image: bitnami/redis-cluster:7.0
        restart: always
        container_name: redis-node-1
        network_mode: "host"
        volumes:
          - ./redis-cluster_data-1:/bitnami/redis/data
        environment:
          - 'REDIS_PASSWORD=liubei@161'
          - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存儲(chǔ)

    因?yàn)槿萜髦袌?zhí)行初始化的不是root用戶,自動(dòng)創(chuàng)建掛載文件權(quán)限一般會(huì)有問(wèn)題。我這里容器中執(zhí)行初始化的用戶對(duì)應(yīng)宿主機(jī)ID是1001的用戶,因此提前給了權(quán)限(當(dāng)然你也可以直接給777權(quán)限,但不建議)。
    如果你不是這個(gè)用戶,可以先給777權(quán)限。等容器啟動(dòng)后看初始化后的文件屬主是誰(shuí),就把該目錄的屬主改成誰(shuí),然后改回755或750權(quán)限。

    [root@liubei-01 redis-cluster]# mkdir ./redis-cluster_data-1
    [root@liubei-01 redis-cluster]# chown 1001  ./redis-cluster_data-1

    啟動(dòng)

    [root@liubei-01 redis-cluster]# docker-compose up -d

    查看結(jié)果

    [root@liubei-01 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-1   /opt/bitnami/scripts/redis ...   Up

    redis-node-2

    version: '2.2'
    services:
      redis-node-2:
        image: bitnami/redis-cluster:7.0
        restart: always
        container_name: redis-node-2
        network_mode: "host"
        volumes:
          - ./redis-cluster_data-2:/bitnami/redis/data
        environment:
          - 'REDIS_PASSWORD=liubei@161'
          - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存儲(chǔ)

    因?yàn)槿萜髦袌?zhí)行初始化的不是root用戶,自動(dòng)創(chuàng)建掛載文件權(quán)限一般會(huì)有問(wèn)題。我這里容器中執(zhí)行初始化的用戶對(duì)應(yīng)宿主機(jī)ID是1001的用戶,因此提前給了權(quán)限(當(dāng)然你也可以直接給777權(quán)限,但不建議)。
    如果你不是這個(gè)用戶,可以先給777權(quán)限。等容器啟動(dòng)后看初始化后的文件屬主是誰(shuí),就把該目錄的屬主改成誰(shuí),然后改回755或750權(quán)限。

    [root@liubei-02 redis-cluster]# mkdir ./redis-cluster_data-2
    [root@liubei-02 redis-cluster]# chown 1001  ./redis-cluster_data-2

    啟動(dòng)

    [root@liubei-02 redis-cluster]# docker-compose up -d

    查看結(jié)果

    [root@liubei-02 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-2   /opt/bitnami/scripts/redis ...   Up

    redis-node-3

    version: '2.2'

    services:
      redis-node-3:
        image: bitnami/redis-cluster:7.0
        restart: always
        container_name: redis-node-3
        network_mode: "host"
        volumes:
          - ./redis-cluster_data-3:/bitnami/redis/data
        environment:
          - 'REDIS_PASSWORD=liubei@161'
          - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存儲(chǔ)

    因?yàn)槿萜髦袌?zhí)行初始化的不是root用戶,自動(dòng)創(chuàng)建掛載文件權(quán)限一般會(huì)有問(wèn)題。我這里容器中執(zhí)行初始化的用戶對(duì)應(yīng)宿主機(jī)ID是1001的用戶,因此提前給了權(quán)限(當(dāng)然你也可以直接給777權(quán)限,但不建議)。
    如果你不是這個(gè)用戶,可以先給777權(quán)限。等容器啟動(dòng)后看初始化后的文件屬主是誰(shuí),就把該目錄的屬主改成誰(shuí),然后改回755或750權(quán)限。

    [root@liubei-03 redis-cluster]# mkdir ./redis-cluster_data-3
    [root@liubei-03 redis-cluster]# chown 1001  ./redis-cluster_data-3

    啟動(dòng)

    [root@liubei-03 redis-cluster]# docker-compose up -d

    查看結(jié)果

    [root@liubei-03 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-3   /opt/bitnami/scripts/redis ...   Up

    redis-node-4

    version: '2.2'
    services:
      redis-node-2:
        image: bitnami/redis-cluster:7.0
        restart: always
        container_name: redis-node-4
        network_mode: "host"
        volumes:
          - ./redis-cluster_data-4:/bitnami/redis/data
        environment:
          - 'REDIS_PASSWORD=liubei@161'
          - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存儲(chǔ)

    因?yàn)槿萜髦袌?zhí)行初始化的不是root用戶,自動(dòng)創(chuàng)建掛載文件權(quán)限一般會(huì)有問(wèn)題。我這里容器中執(zhí)行初始化的用戶對(duì)應(yīng)宿主機(jī)ID是1001的用戶,因此提前給了權(quán)限(當(dāng)然你也可以直接給777權(quán)限,但不建議)。
    如果你不是這個(gè)用戶,可以先給777權(quán)限。等容器啟動(dòng)后看初始化后的文件屬主是誰(shuí),就把該目錄的屬主改成誰(shuí),然后改回755或750權(quán)限。

    [root@liubei-04 redis-cluster]# mkdir ./redis-cluster_data-4
    [root@liubei-04 redis-cluster]# chown 1001  ./redis-cluster_data-4

    啟動(dòng)

    [root@liubei-04 redis-cluster]# docker-compose up -d

    查看結(jié)果

    [root@liubei-04 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-4   /opt/bitnami/scripts/redis ...   Up

    redis-node-5

    version: '2.2'

    services:
      redis-node-5:
        image: bitnami/redis-cluster:7.0
        restart: always
        container_name: redis-node-5
        network_mode: "host"
        volumes:
          - ./redis-cluster_data-5:/bitnami/redis/data
        environment:
          - 'REDIS_PASSWORD=liubei@161'
          - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存儲(chǔ)

    因?yàn)槿萜髦袌?zhí)行初始化的不是root用戶,自動(dòng)創(chuàng)建掛載文件權(quán)限一般會(huì)有問(wèn)題。我這里容器中執(zhí)行初始化的用戶對(duì)應(yīng)宿主機(jī)ID是1001的用戶,因此提前給了權(quán)限(當(dāng)然你也可以直接給777權(quán)限,但不建議)。
    如果你不是這個(gè)用戶,可以先給777權(quán)限。等容器啟動(dòng)后看初始化后的文件屬主是誰(shuí),就把該目錄的屬主改成誰(shuí),然后改回755或750權(quán)限。

    [root@liubei-05 redis-cluster]# mkdir ./redis-cluster_data-5
    [root@liubei-05 redis-cluster]# chown 1001  ./redis-cluster_data-5

    啟動(dòng)

    [root@liubei-05 redis-cluster]# docker-compose up -d

    查看結(jié)果

    [root@liubei-05 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-5   /opt/bitnami/scripts/redis ...   Up     

    redis-node-6

    version: '2.2'

    services:
      redis-node-6:
        image: bitnami/redis-cluster:7.0
        restart: always
        container_name: redis-node-6
        network_mode: "host"
        volumes:
          - ./redis-cluster_data-6:/bitnami/redis/data
        environment:
          - 'REDIS_PASSWORD=liubei@161'
          - 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

    持久化存儲(chǔ)

    因?yàn)槿萜髦袌?zhí)行初始化的不是root用戶,自動(dòng)創(chuàng)建掛載文件權(quán)限一般會(huì)有問(wèn)題。我這里容器中執(zhí)行初始化的用戶對(duì)應(yīng)宿主機(jī)ID是1001的用戶,因此提前給了權(quán)限(當(dāng)然你也可以直接給777權(quán)限,但不建議)。
    如果你不是這個(gè)用戶,可以先給777權(quán)限。等容器啟動(dòng)后看初始化后的文件屬主是誰(shuí),就把該目錄的屬主改成誰(shuí),然后改回755或750權(quán)限。

    [root@liubei-06 redis-cluster]# mkdir ./redis-cluster_data-6
    [root@liubei-06 redis-cluster]# chown 1001  ./redis-cluster_data-6

    啟動(dòng)

    [root@liubei-06 redis-cluster]# docker-compose up -d

    查看結(jié)果

    [root@liubei-06 redis-cluster]# docker-compose ps
        Name                  Command               State                        Ports
    --------------------------------------------------------------------------------------------------------
    redis-node-6   /opt/bitnami/scripts/redis ...   Up

    3. 初始化

     redis-cli -h 10.10.239.31 -a liubei@161 --cluster create 10.10.239.31:6379 10.10.239.32:6379 10.10.239.33:6379 10.10.239.34:6379 10.10.239.35:6379 10.10.239.36:6379 --cluster-replicas 1

    4. 測(cè)試

    I have no name!@0fc49662e765:/$ redis-cli -h 10.10.239.31 -a liubei@161 -c
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    10.10.239.31:6379> set name liubei
    -> Redirected to slot [5798] located at 10.10.239.35:6379
    OK
    10.10.239.35:6379> get name
    "liubei"
    10.10.239.35:6379>

    說(shuō)明:
    進(jìn)入10.10.239.31的redis容器,從該節(jié)點(diǎn)進(jìn)入集群,寫入數(shù)據(jù)。
    顯示寫入在 10.10.239.35 這個(gè)節(jié)點(diǎn)
    同時(shí)我們的連接也跳到了這個(gè)節(jié)點(diǎn)。
    我們讀一下,讀到了數(shù)據(jù)。
    換一個(gè)節(jié)點(diǎn)連接,效果相同。

    關(guān)于“docker compose如何啟動(dòng)redis多機(jī)集群”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“docker compose如何啟動(dòng)redis多機(jī)集群”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI