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
原文地址:https://www.cnblogs.com/chinda/p/13068405.html