Rancher v2.5.9使用Dockerfile部署Redis服务的方法

1. 介绍

1.1 介绍

今天福哥要带着大家学习Rancher部署Redis服务,这个我们还是使用redis:6.0-buster这个镜像作为Redis服务的基础镜像。

rancher替代的是docker-compose,所以无论是rancher还是docker-compose,它们所使用的镜像还是需要自己来维护的。

福哥前面有教给大家使用Dockerfile创建自己的Redis镜像的方法,这里就不再重述了,我们直接在rancher里面使用这个自建的redis6.0这个镜像来搭建redis服务。

2. 镜像

2.1 目录

镜像目录结构。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

2.2 Dockerfile

这个福哥写的Dockerfile,大家可以拿去使用。

FROM registry.tongfu.net:5000/redis:6.0-buster

MAINTAINER Andy Bogate
MAINTAINER tongfu@tongfu.net
MAINTAINER http://docker.tongfu.net
MAINTAINER 2021/6/20
MAINTAINER v1.0.0

EXPOSE 6379

# timezone
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone

# data
RUN mkdir -p /usr/local/etc/redis \
&& mkdir -p /var/lib/redis \
&& mkdir -p /var/log/redis
COPY redis.conf /usr/local/etc/redis/redis.conf

# command
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]

2.3 redis.conf

福哥将原始的redis.conf复制出来进行了一些调整,大家可以根据自己的情况配置。

bind 0.0.0.0

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /tongfu.net/env/redis-4.0.10/data/redis.pid

loglevel notice

logfile /var/log/redis/redis.log

databases 16

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir /var/lib/redis/

slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

slave-priority 100

requirepass tongfu.net

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble no

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes

3. 部署

3.1 名称

名称可以随便起,建议使用英文。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.2 工作负载类型

类型很多,以后福哥会专门讲解这个,今天安装的是redis数据库,所以选择有状态应用。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.3 Docker镜像

这里使用的是以前将Dockerfile的时候创建的redis6.0镜像。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.4 命名空间

福哥添加了一个redis的命名空间。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.5 主机调度

选择服务部署在那台主机上面,可以手动选择,也可以自动分配。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.6 健康检查

这个就是health_check了,图形化设置真爽~~

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.7 数据卷

福哥给redis服务设置了data和logs两个目录,都是映射到了主机目录上面。

3.7.1 创建目录

首先需要在服务器上建立这两个目录,然后设置所有者和分组。

因为redis6.0的镜像的redis用户和redis组的ID都是999,所以这里授权999.999即可。

mkdir -p /data/docker.data/redis/data/
chown 999.999 /data/docker.data/redis/data/
mkdir -p /data/docker.logs/redis/logs/
chown 999.999 /data/docker.logs/redis/logs/

3.7.2 data

添加data目录的映射,将/data/docker.data/redis/data/映射到/var/lib/redis/上面。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.7.3 logs

添加logs目录的映射,将/data/docker.logs/redis/logs/映射到/var/log/redis/上面。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.8 入口命令

因为福哥要使用自定义的配置文件,按照官方的说法需要通过CMD来启动实例。

redis-server /usr/local/etc/redis/redis.conf
Rancher v2.5.9使用Dockerfile部署Redis服务的方法

3.9 安全/主机设置

3.9.1 cpu和内存

福哥配置文件设置的redis内存是256M,这里给容器内存上限加了128M。而CPU福哥分配了1/5个内核,足够用了。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

4. 查看

4.1 列表

完成部署后可以在服务列表里面看到redis服务已经起来了。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

5. 管理

5.1 命令行

进入命令行模式,可以看的redis工作正常。

Rancher v2.5.9使用Dockerfile部署Redis服务的方法

6. 总结

今天福哥带着大家使用我们前面学习的Dockerfile创建的自定义redis镜像redis6.0在rancher上面部署了redis服务,可以看到这种图形化的管理方式真的是很省心,很简单的。


https://tongfu.net/home/35/blog/513549.html

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章