美文网首页
Docker - Redis-4.0.1(CentOS 7.3)

Docker - Redis-4.0.1(CentOS 7.3)

作者: 鬼王丶 | 来源:发表于2017-09-22 16:15 被阅读0次

    參考於: https://hub.docker.com/_/redis/

    • 記錄docker啓動redis鏡像,redis使用自定義redis.conf配置文件;
    • 記錄selinux開啓,使用自定義配置文件產生的問題;
    • 記錄docker下使用redis-cli,通過容器互聯訪問和遠程訪問。

    1.啓動

    docker run -d \
        --name redis-server \
        -p 6379:6379 \
        --restart always \
        -v $PWD/Dockers/redis/data:/data:Z \
        -v $PWD/Dockers/redis/redis.conf:/usr/local/etc/redis/redis.conf:Z \
        redis:latest \
        redis-server /usr/local/etc/redis/redis.conf
    
    • -v $PWD/Dockers/redis/redis.conf:/usr/local/etc/redis/redis.conf:Z,使用自定義配置。最後的:Zselinux爲開啓狀態下必須添加。
    • 執行上述命令前,先在相應的目錄下準備好redis.conf文件(此處全路徑爲:$PWD/Dockers/redis/redis.conf)。
    • 需要密碼則開啓requirepass參數配置。
    • 需要遠程對外提供服務則註釋bind 127.0.0.1

    首先看數據卷映射不加:Z:

    [root@Riped-MicroService-04 kygl]# docker run -d \
    >     --name redis-server \
    >     -p 6379:6379 \
    >     --restart always \
    >     -v $PWD/Dockers/redis/data:/data:Z \
    >     -v $PWD/Dockers/redis/redis.conf:/usr/local/etc/redis/redis.conf \
    >     redis:latest \
    >     redis-server /usr/local/etc/redis/redis.conf
    213b57fb720ad736938e5a8d7ccd8448e469a5dd6a501d4765e58f400a7f8214
    #容器被創建,狀態一直爲Restarting
    [root@Riped-MicroService-04 kygl]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                    NAMES
    213b57fb720a        redis:latest        "docker-entrypoint.sh"   4 seconds ago       Restarting (1) 1 seconds ago   0.0.0.0:6379->6379/tcp   redis-server
    #由於selinux的原因,redis-server啓動的時候不能訪問/usr/local/etc/redis/redis.conf
    [root@Riped-MicroService-04 kygl]# docker logs redis-server 
    1:C 22 Sep 07:26:38.330 # Fatal error, can't open config file '/usr/local/etc/redis/redis.conf'
    1:C 22 Sep 07:26:38.824 # Fatal error, can't open config file '/usr/local/etc/redis/redis.conf'
    1:C 22 Sep 07:26:39.407 # Fatal error, can't open config file '/usr/local/etc/redis/redis.conf'
    ......
    

    通過systemctl status -l docker.service也可以看到以上錯誤。

    數據卷映射加入:Z
    通過docker rm -f redis-server之上創建的容器,然後執行帶:Z的啓動命令
    ,再次查看容器狀態:

    [root@Riped-MicroService-04 kygl]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    2b21841e768d        redis:latest        "docker-entrypoint.sh"   2 minutes ago       Up 2 minutes        0.0.0.0:6379->6379/tcp   redis-server
    

    2.使用redis-cli訪問redis-server

    • 在本地通過容器互聯
    docker run -it \
        --name redis-cli \
        --rm \
        --link redis-server:r-server \
        redis:latest \
        redis-cli -h r-server -p 6379 -a redis-67
    
    • --name redis-cli 容器名稱,可省略

    • --rm 容器退出後自動刪除當前容器

    • --link redis-server:r-server,連接之前啓動的名字爲redis-server的容器,並且設置別名爲r-server

    • 遠程訪問

    docker run -it \
        --name redis-cli \
        --rm \
        redis:latest \
        redis-cli -h 10.27.213.67 -p 6379 -a redis-67
    

    和上述本地訪問基本一樣,在本地用這種方式也是同樣可以的。

    相关文章

      网友评论

          本文标题:Docker - Redis-4.0.1(CentOS 7.3)

          本文链接:https://www.haomeiwen.com/subject/gvjfextx.html