前言
Mysql安装完成,这里到Redis了。
常规梳理
关于镜像
这里选择redis:5.0.4
关于环境变量
暂无。
关于挂载目录及文件
- /data:redis持久化目录
- /usr/local/etc/redis/redis.conf:redis配置文件
关于服务端口
- 6379
定义文件样例
version: '2'
services:
redis:
image: "redis:5.0.4"
restart: always
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/docker-workspace/redis/data:/data"
- "/docker-workspace/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf"
ports:
- "6379:6379"
command:
- "redis-server"
- "/usr/local/etc/redis/redis.conf"
- services:服务定义,每个key对应一个服务
- environment:环境变量定义
- image:镜像
- restart:重启策略
- no,默认策略,在容器退出时不重启容器
- on-failure,在容器非正常退出时(退出状态非0),才会重启容器
- on-failure:3,在容器非正常退出时重启容器,最多重启3次
- always,在容器退出时总是重启容器
- unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
- volumes:挂载目录及文件,左边为宿主,右边为容器
- ports:端口映射,左边宿主,右边容器
- command:用于覆盖容器启动后默认执行的命令
开始安装
初始化目录
mkdir -p /docker-workspace/redis/data
mkdir -p /docker-workspace/redis/conf
添加配置文件
cat <<EOF > /docker-workspace/redis/conf/redis.conf
pidfile /data/redis.pid
port 6379
loglevel notice
logfile /data/redis.log
dbfilename dump.rdb
dir /data
# 密码
requirepass gEwjEHLM
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
EOF
添加定义文件
cat <<EOF > /docker-workspace/redis/docker-compose.yml
version: '2'
services:
redis:
image: "redis:5.0.4"
restart: always
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/docker-workspace/redis/data:/data"
- "/docker-workspace/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf"
ports:
- "6379:6379"
command:
- "redis-server"
- "/usr/local/etc/redis/redis.conf"
EOF
运行实例
-
后台运行实例
docker-compose -f /docker-workspace/redis/docker-compose.yml up -d
下面命令可暂时跳过,直接跳到连接验证
-
停止运行中的实例
docker-compose -f /docker-workspace/redis/docker-compose.yml stop
-
开启运行中的实例
docker-compose -f /docker-workspace/redis/docker-compose.yml start
-
重启运行中的实例
docker-compose -f /docker-workspace/redis/docker-compose.yml restart
-
移出实例
docker-compose -f /docker-workspace/redis/docker-compose.yml down
-
非后台运行实例
docker-compose -f /docker-workspace/redis/docker-compose.yml up
最常用的是
docker-compose -f docker-compose.yml up -d
与docker-compose -f docker-compose.yml down
-
其他命令查看
docker-compose -h
连接验证
使用RedisDesktopManager等redis连接工具验证。
Redis常规维护
传统的安装在宿主机上redis,可直接登录主机维护。而使用docker后,会略微有些区别,会多加一步,进入容器。
如果仅启动了一个redis实例,则可以使用如下命令进入容器。
docker exec -it $(docker ps -a | grep redis | awk '{print $1}') bash
其实就是:
docker exec -it containerid bash
查看容器id命令
docker ps -a