Docker(四):Docker安裝Redis


查找Redis鏡像

鏡像倉庫

https://hub.docker.com/

下拉鏡像

docker pull redis

查看鏡像

docker images

創建Redis容器

運行Redis鏡像

注意:運行Redis鏡像,配置數據卷時有坑。因為redis容器中不存在redis.conf文件,掛載時需在物理機中創建出redis.conf文件,映射進入redis容器。

創建redis.conf文件

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

命令啟動

docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

參數說明

-p 6379:6379:將容器的6379端口映射到宿主機6379端口
-v /mydata/redis/data:/data:將數據掛載到宿主機
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf:將配置掛載到宿主機
-d redis redis-server /etc/redis/redis.conf:后台運行容器並加載配置文件

docker-compose啟動

version: '2'
services:
  redis:
    container_name: redis
    image: redis
    ports:
      - "6379:6379"
    volumes:
      - /mydata/redis/data:/data
      - /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
      - /mydata/mysql/conf:/etc/mysql
    restart: always
    command: redis-server /etc/redis/redis.conf
    environment:
      - COMPOSE_PROJECT_NAME=redis-server

查看容器

docker ps -a

運行redis客戶端

docker exec -it redis redis-cli

Redis中存入數據

127.0.0.1:6379> set a b
OK
127.0.0.1:6379> get a
"b"
127.0.0.1:6379> exit

重啟Redis容器

docker restart redis

查看Redis中存入的數據

[root@k8s-master01 ~]# docker exec -it redis redis-cli
127.0.0.1:6379> get a
(nil)

注意: 上步驟存儲的數據丟失,因為數據沒有持久化到本地。修改配置文件。

修改Redis配置

  1. 進入掛載數據卷
[root@k8s-master01 ~]# cd /mydata/redis/conf/
[root@k8s-master01 conf]# ls
redis.conf
[root@k8s-master01 conf]# pwd
/mydata/redis/conf
  1. 修改配置
cat > redis.conf <<-EOF
appendonly yes
EOF

重啟容器配置生效

docker restart redis

再次存入數據

[root@k8s-master01 conf]# docker exec -it redis redis-cli
127.0.0.1:6379> set aa bb
OK
127.0.0.1:6379> get aa
"bb"

再次重啟容器

docker restart redis

再次查看數據

[root@k8s-master01 conf]# docker exec -it redis redis-cli
127.0.0.1:6379> get aa
"bb"

Docker啟動容器自啟

docker update redis --restart=always


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM