搭建数据目录简单持久

Docker搭建Redis5.0并挂载数据

服务器技术 2021-10-08 22:25:27 26

导读

目录 一、简单挂载持久化数据二、通过DockerFile构建镜像,指定配置文件启动记录Docker搭建Redis5.0并挂载数据过程,搭建参考自DockerHub 一、简单挂载持久化数据docker run -d -p 6379:6379 --name redis \ -v /itwxe……
目录

 一、简单挂载持久化数据
二、通过DockerFile构建镜像,指定配置文件启动

记录 Docker 搭建 Redis5.0 并挂载数据过程,搭建参考自 Docker Hub


 一、简单挂载持久化数据

docker run -d -p 6379:6379 --name redis \

-v /itwxe/dockerData/redis/data:/data \

redis:5.0.8 redis-server --appendonly yes

这样仅仅是挂载了数据,Redis 没有密码等配置,任何人都可以连接,如果是服务器在公网那么极度不安全。

于是按照惯例进入容器查找 redis 的配置文件放在哪里,然后配置好挂载即可,结果发现容器内并没有 redis.conf 文件。

在 Docker Hub 中提到,需要自定义 redis.conf 使用 DockerFile 构建镜像。

Docker搭建Redis5.0并挂载数据

docker使用自定义配置那件构建redis镜像


二、通过DockerFile构建镜像,指定配置文件启动

1、先去 Redis官网 下个和镜像版本一致的版本,我的版本是5.0.8,然后解压文件,将 redis.conf 上传到服务器。

2、修改 redis.conf 配置,主要配置如下,根据自己需求修改。

# 修改后台启动, 默认为daemonize no,docker启动默认即可,后台启动会导致容器退出
daemonize no

# 客户端闲置多长时间后断开连接, 默认为0关闭此功能                               
timeout 0

# 设置密码, 默认被注释, 取消注释修改为自定义密码(我的是123456)
requirepass 123456

# 监听ip, 允许访问的ip, 默认为127.0.0.1, 修改为0.0.0.0(允许所有服务器ip访问)或者注释掉
bind 0.0.0.0

# 指定监听端口, 默认为6379, 此处我保持默认
port 6379

# 是否开启AOF持久化,默认为no
appendonly yes

# 修改AOF及RBD存放路径, 默认为./, 修改为/data
dir /data

# 修改log存放路径, 默认为"", 修改为"/data/redis_6379.log"
logfile "/data/redis_6379.log"

3、创建 Dockerfile 文件,添加内容,不知道怎么使用 Dockerfile 怎么使用的可以看看 DockerFile构建镜像 。

FROM redis:5.0.8
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]

4、构建镜像。

docker build -t itwxe/redis:5.0.8 .

Docker搭建Redis5.0并挂载数据

构建自定义配置redis镜像

5、启动构建的镜像,并挂载数据。

docker run -d -p 6379:6379 --name redis \

-v /itwxe/dockerData/redis/data:/data \

itwxe/redis:5.0.8

可以看到数据正常挂载了。

Docker搭建Redis5.0并挂载数据

自定义redis镜像自动

同时可以测试下密码也可以正常连接。

Docker搭建Redis5.0并挂载数据

自定义redis容器连接


1253067 TFnetwork_cn