第二篇:官方下载的redis镜像如何自己指定启动的配置文件

下载官方镜像

  1. 寻找redis镜像
    在这里插入图片描述
  2. 下载镜像
    docker pull redis
  3. 在服务器上创建redis目录
    mkdir -p /work/redis/conf /work/redis/bin /work/redis/data /work/redis/logs
  4. 将redis.conf配置文件放置在/work/redis/conf下
  5. 配置文件链接
    redis.conf
  6. 编写启动脚本:
#!/bin/bash
#Writerriter by ***
#Description  use docker run start  appserver
#2017.7.13
set -e
#############################################################################################################
docker run  -d -p 6379:6379 --name redisserver --restart=always \
            -v /work/redis/logs:/var/log/redis/ \
     -v /work/redis/data:/data \
            -v /etc/timezone:/etc/timezone \
            -v /etc/localtime:/etc/localtime \
            -v /work/redis/conf/redis.conf:/etc/redis/redis.conf \
            -h redisserver redis:latest \
            redis-server /etc/redis/redis.conf
  1. 用脚本启动
    sh ./start.sh
  2. 解决日志文件无权限写的问题
    用脚本启动之后发现容器一直为restarting状态,发现报如下错误:

*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 163

‘logfile “/var/log/redis/redis-server.log”’
Can’t open the log file: Permission denied

docker rm –f redisserver
docker run -it --name temp -v /work/redis/logs:/var/log/redis/ redis:lastest /bin/bash
--执行完上一句之后进入root用户
cd /var/log
chown -R root:root ./redis
cd /var/log/redis 
echo '' > redis-server.log
chmod 777 ./redis-server.log
exit
docker ps –a
docker rm –f temp
cd /work/redis/bin
./start.sh         #发现能成功启动
  1. 修改redis.conf中的参数使其单节点运行
    cluster-enabled yes
    如果配置yes则开启集群功能,此redis实例作为集群的一个节点,否则,它是一个普通的单一的redis实例。
    将此参数改为no 重启就可以单节点运行了。
发布了47 篇原创文章 · 获赞 0 · 访问量 1196

猜你喜欢

转载自blog.csdn.net/weixin_43103748/article/details/103390570
今日推荐