可以按照以下步骤在 Docker 中安装 Redis
docker pull redis
拉取Redis镜像
docker run --name myredis -d p 6379:6379 redis
启动一个名为“myredis”的Redis容器,并在后台运行
这里没有配置容器卷映射,当容器被删除时数据无法恢复。
提示:以下是本篇文章正文内容,下面案例可供参考
参考前文【初识 Docker | 基础篇】 Docker 安装
需要从github上下载docker-compose二进制文件安装
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
出现问题:curl: (35) Encountered end of file
解决:开放443端口即可
在root目录下创建docker目录
mkdir docker
在docker目录下创建redis目录
cd /docker
mkdir redis
在redis目录下创建data目录
cd redis
mkdir data
在redis
目录下,创建redis.conf
配置文件
# 开启密码验证(可选)
requirepass 123456
# 允许redis外地连接,需要注释掉绑定的IP
# bind 127.0.0.1
# 关闭保护模式(可选)
protected-mode no
# 注释掉daemonize yes,或者配置成 daemonize no。因为该配置和 docker run中的 -d 参数冲突,会导致容器一直启动失败
daemonize no
# 开启redis数据持久化, (可选)
appendonly yes
完整配置
# 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 123456
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error no
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
在docker目录下执行命令vim docker-compose.yml
输入内容如下:
version: '3'
services:
#redis容器 - Redis container
redis:
image: redis:6.2.5
container_name: demo-redis
ports:
- 16379:6379
environment:
# 时区上海 - Time zone Shanghai (Change if needed)
TZ: Asia/Shanghai
volumes:
# 数据文件 - data files
- /docker/redis/data:/data:rw
- /docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
- /docker/redis/data/logs:/logs
command: "redis-server /usr/local/etc/redis/redis.conf --requirepass 123456 --appendonly yes"
privileged: true
restart: always
network_mode: bridge
⏭执行命令 chmod 755 docker-compose.yml
,给docker-compose.yml设置权限
✅执行命令docker-compose up -d
,后台启动docker-compose
出现报错
-bash: /usr/local/bin/docker-compose: Permission denied
执行命令chmod +x /usr/local/bin/docker-compose
再次执行docker-compose up -d
,成功启动redis
以上就是今天要讲的内容,本文仅仅简单介绍了在 Docker 中安装 Redis的步骤,以上方法亲测有效,希望能给大家一个参考。
⭕关注博主,不迷路 ⭕
创作不易,关注、点赞、收藏就是对作者最大的鼓励,欢迎在下方评论留言