Docker安装部署Redis数据库

通过Docker部署Redis,比起我们自己编译安装的方式,会更加方便容易管理。今天就来简单分享一下使用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
Docker安装部署Redis数据库

进入目录后创建名为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值为C.UTF-8,这个最好是要设置,否则容器内默认是英文环境,使得Redis可能无法存放中文内容

末尾是启动命令,单独拿出来看一下:

su -l root -c "redis-server /usr/local/etc/redis/redis.conf"

意思是在容器内以root身份运行redis-server并指定了配置文件位置。

之所以要以root身份运行,是因为防止其没有权限将数据写入到磁盘。也可见最后指定的配置文件路径,和前面-v挂载的配置文件数据卷的容器内路径一致,这里好理解,但是要注意,如果你是自定义别的路径与文件名就需要在-v挂载时和最后启动指定配置时做一下变化了。

最后,就可以使用客户端连接服务器上的Redis了!

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6596

(0)
郭靖的头像郭靖
上一篇 2023年1月10日 下午2:20
下一篇 2023年1月12日 下午5:28

相关推荐

  • Linux如何调整Swap空间大小

    查看当前Swap文件位置以及大小 要查看当前正在使用的swap文件或分区的位置,您可以使用swapon命令。 执行以下命令: 这将显示所有活动的swap空间,包括其类型(例如文件或分区)、大小、使用情况和位置。 如果您只对文件路径或分区路径感兴趣,您可以通过/proc/swaps文件查看相同的信息: 这将列出系统上所有的swap空间,包括它们的位置。 设置一…

    2023年11月6日
    1.2K00
  • nginx快速部署一个网站服务 + 多域名 + 多端口

    一、nginx虚拟主机,部署网站 都是在同一台服务器上部署 二、部署单域名/IP网站服务 1、创建一个普通用户,用户管理nginx网站服务 2、修改nginx主配置文件 3、创建虚拟主机nignx子配置文件 只需要写server{}标签即可。 上面配置文件中配置了index.html的地址,这里可以看到是没有的,我们创建一下; 4、测试nginx配置文件语法…

    2023年12月25日
    1.4K00
  • CentOS如何修改root用户登录时默认目录

    如何修改root用户默认目录,修改/root/.bash_profile文件,只要加一行cd 路径就可以。 修改其它用户的配置,这个文件应该是在/home/username/.bash_profile(username为登录用户名)。 如何修改用户主机名?

    2023年11月7日
    1.2K00
  • Linux缓冲区的理解

    一、FIFE 可以看到对过程重定向后结果发生了改变,C接口的函数printf,fprintf,fputs都被打印了两次;而系统接口write前后只被打印了一次,为什么呢?肯定和fork有关! fork会创建子进程。在创建子进程的时候,数据会被处理成两份,父子进程发生写时拷贝,我们进行printf调用数据的时候,数据写到显示器外设上,就不属于父进程了,数据没被…

    2023年4月10日
    1.3K00
  • 禅道安装

    禅道介绍 禅道项目管理软件是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理。 禅道属于开源项目,有收费版,本次以开源版9.1.2进行搭建 禅道官网:http://www.zentao.net/ 提示:本地环境我们没有安装mysql,安装禅道环境需要LNMP或者LA…

    2023年4月27日
    1.4K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信