docker安装redis-程序员宅基地

技术标签: 容器  redis  docker  

1

一、基本介绍

  • Docker 是一个开源的应用容器引擎,参考链接:【docker使用安装教程
  • Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。

  本文将介绍docker上安装redis容器的详细过程。

二、前期准备

  安装docker,参考链接:不同操作系统的docker方式

我的是centos操作系统,直接执行命令:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun安装即可

三、docker安装redis

参考链接:
Docker 安装 Redis - 菜鸟教程
史上最详细Docker安装Redis (含每一步的图解)实战

3.1 redis镜像拉取

  1. 查看可用的redis版本,执行命令:docker search redis
    1
  2. 拉取Redis镜像:从Docker Hub上获取Redis官方镜像,执行命令:docker pull <镜像名称>:<版本号>
# 示例-默认拉取官方的最新版本的镜像
docker pull redis

1
3. 查看本地redis镜像,执行命令: docker images
1

3.2 Docker挂载redis配置文件

  将redis的配置文件进行挂载,以配置文件方式启动redis容器

挂载:将宿主机的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件

挂载文件的位置可以自己随便选择

1. 挂载redis的配置文件:redis.conf
(1) 建立配置文件放置目录,执行命令:mkdir 目录/redis/conf/
(2) 生成配置文件,执行命令:touch redis.conf
(3) 写入内容:redis.conf的标准文件在redis官网也可以找到
1
文件内容:

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1
protected-mode no
port 6379
tcp-backlog 511
requirepass 000415
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
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 ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
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
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

2. 挂载redis的持久化文件
建立数据文件放置目录,执行命令:mkdir 目录/redis/data/
2

3.3 启动redis容器

docker run -p 6379:6379 --restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name myredis \
-v /root/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /root/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes --requirepass 123456

参数说明:
1.-restart=always 总是开机启动
2.-log 记录日志
3.-p 端口映射
4.-name 容器名
5.-v 数据卷挂载
6.-d redis 后台启动redis
7.redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf,也就是linux下的 /home/redis/myredis/myredis.conf
8.-appendonly yes 开启持久化
9.-requirepass 123456 设置密码

1

简单的启动命令示例:docker run --name myredis -p 6379:6379 -d redis

关闭容器命令:docker stop <容器名>
示例:docker stop myredis
1

3.4 验证Redis容器是否正常运行

  1. 查看容器的运行信息,验证Redis容器是否正常运行:docker ps
    1

查看指定容器状态:docker ps -a | grep myredis
1

  1. 查看容器运行日志:docker logs --since 30m <容器名>

此处 --since 30m 为查看此容器30分钟之内的日志情况

执行:docker logs --since 30m myredis
2

  1. 容器内部连接测试:docker exec -it <容器名> /bin/bash
#示例
docker exec -it myredis redis-cli

1

四、Docker删除Redis容器

  1. 查看所有在运行的容器:docker ps -a
  2. 关闭容器:docker stop <容器名>
  3. 删除容器:docker rm <容器名>

五、Docker删除Redis镜像

  1. 查看全部镜像 命令:docker images
  2. 删除镜像 命令 :docker rmi <容器 id>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44462773/article/details/132429386

智能推荐

pythonsklearn乳腺癌数据集_Python的Sklearn库中的数据集-程序员宅基地

文章浏览阅读1.2k次。一、Sklearn介绍scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了。其完善之处不仅在于实现的算法多,还包括大量详尽的文档和示例。其文档写得通俗易懂,完全可以当成机器学习的教程来学习。二、Sklearn数据集种类sklearn 的数据集有好多个种自带的小数据集(packaged dataset):sklearn...

下面是一个python函数、哪个说法不正确_2017秋python语言程序设计(北京信息科技大学)答案...-程序员宅基地

文章浏览阅读594次。【单选题】以下可以终结一个循环的执行的语句是【单选题】设计的组件之间的依赖关系图被称为:【单选题】类方法中定义了四个参数,这种情况下实际上有多少参数:【判断题】螺旋式开发可以简化项目管理,能够适应需求经常的变化。【判断题】一个try语句只能配一个except语句。【单选题】递归函数有什么特点?【判断题】单元测试是将程序分离出来独立单元进行测试。【判断题】决策结构问题通常只有一种方案【单选题】以下不..._文件后缀名采用.pyw而不是.py的目的是为了绘制窗口

从预置数据中心迁移至IDC数据中心的七大关键因素-程序员宅基地

文章浏览阅读102次。在数据中心多年的发展进程中,发展已经不可避免地来到拐点(转折点),是购买数据中心还是租赁数据中心?该如何选择呢?业界人士不得不审慎思考、分析利弊,考虑是自建数据中心,自己维护,还是将其外包。(备注:拐点(转折点),又称反曲点,在数学上指改变曲线向上或向下方向的点,直观地说拐点是使切线穿越曲线的点(即曲线的凹凸分界点)。若该曲线图形的函数在拐点有二阶导数..._idc选址事项

Linux播放组播视频流,linux下播放组播流出现setsockopt:No such device错误-程序员宅基地

文章浏览阅读662次。在linux下播放组播流出现setsockopt:No such device错误是因为多播IP没有add路由表里面可以采用如下命令完成:root@android:/ # busybox route add -net 239.1.1.0 netmask 239.1.1.0 dev eth0busybox route add -net 239.1.1.0 netmask 239.1.1.0 dev ..._bogus netmask

XSS存储型攻击_xss存储型攻击代码-程序员宅基地

文章浏览阅读928次。LOW服务器端核心代码<?php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $message = trim( $_POST[ 'mtxMessage' ] ); $name = trim( $_POST[ 'txtName' ] ); // Sanitize message inpu..._xss存储型攻击代码

Linux : apt,apt-get,dpkg各种命令参数学习_sudo apt-get --purge remove package_name-程序员宅基地

文章浏览阅读315次。安装dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件sudo dpkg -i xxx.deb (需要本地有下载好的deb文件)apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具sudo apt install packagename卸载sudo apt-get remove packagename 只删除软件,不删除配置文件sudo apt-_sudo apt-get --purge remove package_name

随便推点

DC NXT TOPO flow (1)SPG flow 基础_dcnxt-程序员宅基地

文章浏览阅读6.8k次,点赞9次,收藏81次。什么是物理综合 physical synthesis物理综合就是将RTL综合为coarse-placement的网表;这需要让DC工作在TOPO mode' 并使用compile_ultra 命令;需要一个布局文件,一般是ICC生成的;(icc ii design planning);DC NTX topological mode 是支持物理综合的DC NTX in topological mode 使用virtual routing 去估计net的长度; virtual routing ._dcnxt

linux 网络编程_linux网络编程-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏25次。linux系统编程-网络编程_linux网络编程

Java进阶之hibernate中cascade与inverse_java面试 cascade和inverse-程序员宅基地

文章浏览阅读1.7k次。我们都知道的是cascade强调的是操作关联对象,inverse强调的是外键的维护权。在我们设置了级联操作后,在保存的时候就会级联保存另外的级联对象,而设置了inverse之后,如果两个对象之间有双向维护关系,就会在设置的一方放弃外键维护权,那它们两个共同使用的时候会产生什么结果呢? 我们可以通过一个简单的案例测试一下,就能得到结果,案例中customer与linkman为一对多关_java面试 cascade和inverse

笔记:mysql删除表内某条纪录的auto_increment属性sql语句。_mysql删除auto_increment-程序员宅基地

文章浏览阅读2.9k次。假定s_user_info表内主键uid设置了auto_increment属性,且该主键的type为int,如果想删除auto_increment属性,那么直接修改下type就ok了。sql语句:alter table s_user_info modify uid int(11);执行后再次desc s_user_info;下查看表字段描述会发现uid的auto_increment属性_mysql删除auto_increment

7、队列的基本操作(java数据结构)_本题重新定义队列出队的操作:队首出队的数字重新在队尾入队。 例:队列中有1 2 3三-程序员宅基地

文章浏览阅读4k次。队列的基本操作本题重新定义队列出队的操作:队首出队的数字重新在队尾入队。例:队列中有1 2 3三个数字,现要求队首出队,则1从队首出队,同时1从队尾入队,队列变成2 3 1。 入队的顺序为1,2,3,4…n,同时给一个二进制字符串,1代表出队操作,0代表入队操作。输入格式:在第一行有两个数字n,m(n<=100,n<m),其中n为入队的数字个数,m代表操作数。接下来m行,每行一个数字,1或者0,代表不同的操作。输出格式:输出操作后队列的每个数字,数字间以空格分隔,最后一个数字后没有空格_本题重新定义队列出队的操作:队首出队的数字重新在队尾入队。 例:队列中有1 2 3三

【matlab】 与cell相关的转换函数_cellmat-程序员宅基地

文章浏览阅读1.1k次。**【matlab】 与cell相关的转换函数**1、cell2mat:将cell转换为mat的char型2、str2num:将mat从char转换为double型3、cellstr:将char转cell4、num2str:将double转char5、num2cell:将double直接转cell_cellmat

推荐文章

热门文章

相关标签