docker 搭建redis主從複製

首先從dockerhub上搜索redis
而後即將docker pull到本地 docker pull redis ,待同步完鏡像後。
咱們須要對容器進行端口映射,以及文件映射,讓redis讀取本地的redis.conf文件。redis.conf問價能夠去redis官網下載一份redis,而後提取。咱們 修改好redis.conf文件,並放到咱們映射的路徑下,待容器啓動就會加載。master節點修改bind,這個參數是用來綁定能夠訪問該redis的ip地址。
slave節點也是修改這個,而後還要修改replicaof masterip port 參數,masterip 就是master節點的IP,port是他的端口。
而後就是運行docker鏡像啦。
docker run -v ~/workspace/redis/master/config/redis.conf:/usr/local/etc/redis/redis.conf -v ~/workspace/redis/master:/data -p 6379:6379 --name master redis redis-server /usr/local/etc/redis/redis.conf 參數 -v是將前面的宿主機的地址映射到容器中的路徑。 -p 是將主機端口映射到容器端口。
而後咱們修改容器映射到主機的端口。也就是-p。--name 是容器的名字。
咱們啓動容器。
image.png
這是咱們的master節點。一樣的,咱們修改啓動容器的命令,啓動另外兩個redis節點。修改配置文件redis.conf 和 --name ,以及端口映射。
這樣就行了。
可是我在搭建的時候遇到了以下的問題:redis

1:S 30 Oct 2020 00:24:28.379 * MASTER <-> REPLICA sync started
1:S 30 Oct 2020 00:24:28.380 * Non blocking connect for SYNC fired the event.
1:S 30 Oct 2020 00:24:28.380 * Master replied to PING, replication can continue...
1:S 30 Oct 2020 00:24:28.380 * Partial resynchronization not possible (no cached master)
1:S 30 Oct 2020 00:24:28.380 * Master is currently unable to PSYNC but should be in the future: -NOMASTERLINK Can't SYNC while not connected with my master

輸入docker inspect master,查看容器的信息;docker

"Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "d146143ce326a6d873f44293e255e1b77453747373ce9a11af450e74757bcce4",
                    "EndpointID": "46962fab58f136d8005a4c1e0773e24e0a2618a887f3248da4815a8f4722238e",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }

能夠看到master的ip地址爲172.17.0.2,我以前至關然的是本機地址(localhost),去修改配置。
image.png
這下就成功了。shell

相關文章
相關標籤/搜索