zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    Java中一对多映射关系(转)
    java映射一对一关系 (转)
    如何创建JUnit
    Java数组转置
    get与post方法(吴老师整理)
    后台获得数据
    JDK1.8的安装与卸载
    使用JSP输出九九乘法表
    foreach
    匿名内部类
  • 原文地址:https://www.cnblogs.com/chinda/p/13068405.html
Copyright © 2011-2022 走看看