本篇内容介绍了“Docker如何安装部署Redis数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1,拉取镜像
通过下列命令:
docker pull redis
2,创建数据卷
通常,类似于MySQL,Redis作为数据库,我们最好还是需要将其配置和数据等等挂载到数据卷以持久化到宿主机。
仍然是使用具名挂载的方式方便管理。
docker volume create redis-config
docker volume create redis-data
这样就创建了两个数据卷分别是存放配置文件和数据,大家也可以自行命名。
3,创建并编写配置文件
先进入到配置文件的数据卷目录,可以通过
docker volume inspect
命令查看数据卷的位置:
docker volume inspect redis-config
进入目录后创建名为
redis.conf
的文件,并加入如下内容:
requirepass 12345678
dir /data
这里设置了密码为
12345678
,设定了数据文件存放目录为
/data
,这些配置都可以自定义,更多配置可以参考这篇博客。
4,创建并启动容器
执行下列命令:
docker run -id --name=redis -v redis-config:/usr/local/etc/redis -v redis-data:/data -p 6379:6379 -e LANG=C.UTF-8 redis su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
上述参数如下:
-
指定数据卷,可见将容器内-v
挂载至了数据卷/usr/local/etc/redis
,将容器内redis-config
挂载至数据卷/data
,可见这里挂载数据卷的容器内路径和我们上述预先写的配置文件中对应的路径是要一致的redis-data
-
用于暴露端口-p
-
用于指定容器内环境变量,设置容器的语言环境变量-e
值为LANG
,这个最好是要设置,否则容器内默认是英文环境,使得Redis可能无法存放中文内容C.UTF-8
末尾是启动命令,单独拿出来看一下:
su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
意思是在容器内以
root
身份运行
redis-server
并指定了配置文件位置。
之所以要以
root
身份运行,是因为防止其没有权限将数据写入到磁盘。也可见最后指定的配置文件路径,和前面
-v
挂载的配置文件数据卷的容器内路径一致,这里好理解,但是要注意,如果你是自定义别的路径与文件名就需要在
-v
挂载时和最后启动指定配置时做一下变化了。最后,就可以使用客户端连接服务器上的Redis了!