中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker-compose怎么配置并部署redis服務

發布時間:2022-04-06 10:51:20 來源:億速云 閱讀:874 作者:iii 欄目:開發技術

本篇內容介紹了“docker-compose怎么配置并部署redis服務”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、安裝docker和docker-compose

### 安裝docker
curl -sSL https://get.daocloud.io/docker | sh

### 啟動docker
systemctl start docker

### 安裝docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
### 將可執行權限應用于二進制文件
chmod +x /usr/local/bin/docker-compose

二、下載redis版本,本文中選擇的是6.2.6版本

docker-compose怎么配置并部署redis服務

三、解壓并復制redis.conf配置文件到服務器上,本文是放在/etc/redis/redis.conf

docker-compose怎么配置并部署redis服務

四、修改redis.conf配置文件

### 指定redis綁定的主機地址,注釋掉這部分,使redis可以外部訪問
    # bind 127.0.0.1 -::1
### 指定訪問redis服務端的端口
    port 6379
### 指定客戶端連接redis服務器時,當閑置的時間為多少(如300)秒時關閉連接(0表示禁用)
    timeout 0
### 默認情況下,Redis不作為守護進程運行。如果需要,請使用“yes”
    daemonize no
### 給redis設置密碼,不需要密碼的話則注釋
    # requirepass foobared
### 開啟redis持久化,默認為no
    appendonly yes
### 防止出現遠程主機強迫關閉了一個現有的連接的錯誤 默認是300
    tcp-keepalive 300
### 指定redis數據庫的日志級別,常用的日志級別有debug、verbose、notice、warning,不進行修改的情況下默認的是notice
    loglevel notice
### 指定redis數據庫多長時間內(s)有多少次(c)更新操作時就把緩存中的數據同步到本地庫,比如:save 600 2,指的是10分鐘內有2次更新操作,就同步到本地庫
    save <s><c>
### 指定redis的最大內存。由于Redis 在啟動時會把數據加載到內存中,當數據達到最大內存時,redis會自動把已經到期和即將到期的key值。所以可以根據需求調整自己的所需的最大內存
    maxmemory 500mb
### 設置了maxmemory的選項,redis內存使用達到上限。可以通過設置LRU算法來刪除部分key,釋放空間。默認是按照過期時間的,如果set時候沒有加上過期時間就會導致數據寫滿maxmemory
    maxmemory-policy volatile-lru
### 設置外部網絡連接redis服務,開啟需配置bind ip或者設置訪問密碼,關閉此時外部網絡可以直接訪問
    # protected-mode yes

五、配置docker-compose.yml

my_redis:
    image: redis:6.2.6-alpine # 指定服務鏡像,最好是與之前下載的redis配置文件保持一致
    container_name: my_redis # 容器名稱
    restart: on-failure # 重啟方式
    environment:
      - TZ=Asia/Shanghai # 設置時區
    volumes: # 配置數據卷
      - /root/redis/data:/data
      - /etc/redis/redis.conf:/etc/redis/redis.conf
    ports: # 映射端口
      - "6380:6379"
    sysctls: # 設置容器中的內核參數
      - net.core.somaxconn=1024
   #  - vm.overcommit_memory=1
    command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
            && redis-server /etc/redis/redis.conf --appendonly yes" # 指定配置文件并開啟持久化
    privileged: true # 使用該參數,container內的root擁有真正的root權限。否則,container內的root只是外部的一個普通用戶權限

六、啟動容器

### 啟動容器
docker-compose up -d

### 進入容器
docker exec -it my_redis /bin/sh
### 進入客戶端
redis-cli
### 如果設置了密碼,需要輸入auth 密碼
auth 你的密碼
### 查看已存儲的key
keys *
### 查看redis信息
info

七、redis啟動后遇到的問題

  • Warning: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128

意思:無法強制執行TCP backlog設置511,因為/proc/sys/net/core/somaxconn被設置為較低的值128

echo "net.core.somaxconn=551" > /etc/sysctl.conf
sysctl net.core.somaxconn=551
  • Warning:overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect

意思: overcommit_memory的值設置為0! 在內存不足的情況下,后臺保存可能會失敗。 要解決此問題,請將“vm.overcommit_memory = 1”添加到/etc/sysctl.conf,然后重新啟動或運行命令“sysctl vm.overcommit_memory = 1”以使其生效

echo 1 > /proc/sys/vm/overcommit_memory
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
  • redis報錯:RDB: 0 MB of memory used by copy-on-write

docker-compose怎么配置并部署redis服務

由于我redis.conf配置文件,配置了save,將緩存中的數據同步到本地庫,所以我暫時的解決方法是取消保存,設置save ""

“docker-compose怎么配置并部署redis服務”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宽甸| 马边| 峡江县| 格尔木市| 集安市| 太仓市| 南开区| 隆安县| 合肥市| 南木林县| 通山县| 石泉县| 宁阳县| 同心县| 莱州市| 台江县| 克山县| 和平县| 桓仁| 松江区| 辰溪县| 木里| 搜索| 乐东| 安西县| 临夏市| 乡城县| 日土县| 雅江县| 台山市| 鹰潭市| 调兵山市| 大石桥市| 抚宁县| 扎囊县| 镇江市| 南宫市| 普宁市| 杭锦后旗| 那坡县| 台南县|