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

相关推荐

  • Ubuntu 启用root账户并开启远程登录

    1.启用root账户 修改root用户密码,输入下方命令后,还需要输入当前普通用户的密码进行身份验证,然后修改root用户的新密码 sudo passwd root 2、开启远程登录 执行下方命令后开启root用户的远程登录 此时就能使用root账户成功登录了

    2022年6月11日
    1.9K00
  • 如何处理CentOS Failed to load SELinux policy

    CentOS 7在启动时,卡在进度条界面一直进不去系统,如下图所示: 我们可以通过按键盘的左右方向键,可以看到提示“Failed to load SELinux policy.”,这就是造成系统一直卡住无法正常启动的原因。 原因 是因为没有正确修改系统的selinux的配置,导致系统在启动时报selinux的错误 解决方案 第一步:先重启CentOS7操作系…

    2022年6月15日
    1.9K00
  • Centos7下离线安装mysql8.0.20

    一、下载linux mysql8.0 离线安装包 首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) 二、安装mysql 1、由于mariadb中的lib包和mysql8.0.20的lib包冲突,如果已经安装了mariadb,则需要将其卸载。 2、卸载mari…

    2022年12月5日
    2.0K00
  • 设备 eth0 似乎不存在, 初始化操作将被延迟

    今天将eth0文件编辑好之后,不管是重启network还是重启电脑都没用,一直显示个eth1,我就很纳闷,明明没有eth1这个文件,eth1到底从哪里来的,网上好多方法都试过了还是不行,什么删除/etc/udev/rules.d/70-persistent-net.rules这个文件,然后重启电脑,没用!关闭NetworkManager服务,没用!有的甚至说…

    2023年3月2日
    1.5K00
  • Linux系统之安装uptime-kuma服务器监控面板

    一、检查本地环境 1.1 检查本地操作系统版本检查本地操作系统版本 1.2 检查系统内核版本 检查系统内核版本 1.3 检查系统是否安装Node.js 检查系统是否安装Node.js 二、部署Node.js 环境 2.1 下载Node.js安装包 下载Node.js安装包 2.2 解压Node.js安装包 解压Node.js安装包 2.3 复制二进制文件 将…

    2023年9月21日
    1.6K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信