Docker容器编译安装Redis

1、创建容器

  • -i 交互模式
  • -d 后端运行
  • -h 容器的hostname
  • --name 容器名
  • --network 网卡
  • --ip IP地址
  • -p 端口映射
  • --privileged=true 和 /usr/sbin/init 为特权模式参数
[root@localhost ~]# docker run -i -d -h redis --name redis --net docker-br0 --ip 172.127.0.211 -p 6379:6379 --privileged=true centos:7 /usr/sbin/init

Docker容器编译安装Redis_vim

2、进入容器更新yum并安装常用工具包及Redis依赖包

[root@localhost ~]# docker exec -it redis /bin/bash
[root@rabbitmq /]# yum -y update
[root@rabbitmq /]# yum -y install vim zip unzip bzip2 net-tools wget gcc make

Docker容器编译安装Redis_docker_02

3、创建文件存放目录,并下载安装包

[root@redis /]# mkdir Tools
[root@redis /]# cd Tools
[root@redis Tools]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz

Docker容器编译安装Redis_Redis_03

4、解压

[root@redis Tools]# tar -zxvf redis-6.2.6.tar.gz

5、编译安装

[root@redis Tools]# cd redis-6.2.6
[root@redis redis-6.2.6]# make
[root@redis redis-6.2.6]# make install PREFIX=/usr/local/redis

Docker容器编译安装Redis_Redis_04

6、修改配置文件

  • 从解压后的文件(源码)中拷贝配置文件到安装目录下
[root@redis redis-6.2.6]# cp redis.conf /usr/local/redis/bin/
  • 修改参数
    bind 127.0.0.1 -::1 表示只能本机访问,前面加 # 注释掉,不限定ip访问。
    protected-mode no表示外部网络可以直接访问
    daemonize yes 使用守护线程的方式启动
[root@redis redis-6.2.6]# vim /usr/local/redis/bin/redis.conf
[root@redis redis-6.2.6]# cat /usr/local/redis/bin/redis.conf | grep bind
[root@redis redis-6.2.6]# cat /usr/local/redis/bin/redis.conf | grep protected-mode
[root@redis redis-6.2.6]# cat /usr/local/redis/bin/redis.conf | grep daemonize
# bind 127.0.0.1 -::1   # 75 注释掉
protected-mode no # 94
daemonize yes # 257

Docker容器编译安装Redis_vim_05

7、启动redis

[root@redis redis-6.2.6]# cd /usr/local/redis/bin/
[root@redis bin]# ./redis-server redis.conf # 启动
[root@redis bin]# ./redis-cli shutdown # 停止

Docker容器编译安装Redis_Redis_06

8、验证

Docker容器编译安装Redis_vim_07

Docker容器编译安装Redis_Docker_08

9、其他

  • redis配置密码
[root@redis bin]# vim /usr/local/redis/bin/redis.conf
requirepass  jiuqi97
  • redis配置密码后停止服务也需要输入密码才能停止服务
  • 增加环境变量 REDISCLI_AUTH 可以实现不输入密码停止服务,REDISCLI_AUTH配置的是密码
    Docker容器编译安装Redis_redis_09


作者:99号程序员