命令贴上
docker pull redis
mkdir -p /opt/redis/data
vi /opt/redis/redis.conf
#新建配置成功之后在执行以下命令
docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /opt/redis/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass redis
安装前提
- 创建redis数据存放目录
在opt目录下创建redis文件夹,并在redis文件夹里面创建data文件夹,之后要挂载到redis容器中
mkdir -p /opt/redis/data
- 创建配置文件redis.conf
在/opt/redis
中创建redis.conf
,并将下面的配置复制进去
vi /opt/redis/redis.conf
# 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
安装开始
拉取镜像
- 拉取最新版本
默认是最新版本 redis:latest
docker pull redis
- 拉取指定版本
可以在docker hub中查询版本号,复制执行
[root@VM-4-7-centos ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
3f9582a2cbe7: Pull complete
241c2d338588: Pull complete
89515d93a23e: Pull complete
65e8ba9473fe: Pull complete
585124038cab: Pull complete
b483de716a47: Pull complete
Digest: sha256:e50c7e23f79ae81351beacb20e004720d4bed657415e68c2b1a2b5557c075ce0
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest
[root@VM-4-7-centos ~]#
创建容器
docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /opt/redis/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass redis
命令 | 说明 |
---|---|
–restart=always \ | 总是开机启动 |
–log-opt max-size=100m \ | 日志最大数值 |
–log-opt max-file=2 \ | 日志最大文件数 |
-p 6379:6379 \ | 将容器的6379端口映射到主机的6379端口 |
–name redis \ | 容器的名字 |
-v /opt/redis/redis.conf:/etc/redis/redis.conf \ | 挂载的配置文件 |
-v /opt/redis/data:/data \ | 挂载的宿主机数据文件夹 |
-d redis redis-server /etc/redis/redis.conf \ | 以/etc/redis/redis.conf配置文件启动redis,-d后台 |
–appendonly yes \ | 单机模式 |
–requirepass redis | redis密码 |
验证
进入容器,登录数据库
#进入容器
docker exec -it redis /bin/bash
#Redis命令行工具
redis-cli
#验证密码 结果为“ok”时则密码正确
auth reids
[root@VM-4-7-centos redis]# docker exec -it redis /bin/bash
root@7bf920bf183f:/data# redis-cli
127.0.0.1:6379> auth reids
OK
127.0.0.1:6379>