美文网首页
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