docker部署redis

查看redis进程

1
ps -ef |grep redis

创建宿主机 redis 容器的数据和配置文件目录

1
2
mkdir /docker/redis/{conf,data} -p
cd /docker/redis

获取 redis 的默认配置模版

1
2
3
4
5
6
7
wget https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf -O conf/redis.conf

sed -i 's/logfile ""/logfile "access.log"/' conf/redis.conf
sed -i 's/# requirepass foobared/requirepass 163.com/' conf/redis.conf
sed -i 's/appendonly no/appendonly yes/' conf/redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' conf/redis.conf
sed -i 's/protected-mode yes/protected-mode no/' conf/redis.conf

创建并运行一个名为 myredis 的容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker run \
-p 6379:6379 \
-v $PWD/data:/data \
-v $PWD/conf/redis.conf:/etc/redis/redis.conf \
--privileged=true \
--name myredis \
-d redis redis-server /etc/redis/redis.conf

# 命令分解
docker run \
-p 6379:6379 \ # 端口映射 宿主机:容器
-v $PWD/data:/data:rw \ # 映射数据目录 rw 为读写
-v $PWD/conf/redis.conf:/etc/redis/redis.conf:ro \ # 挂载配置文件 ro 为readonly
--privileged=true \ # 给与一些权限
--name myredis \ # 给容器起个名字
-d redis redis-server /etc/redis/redis.conf # deamon 运行容器 并使用配置文件启动容器内的 redis-server

查看活跃的容器

1
2
3
4
5
6
7
docker ps
# 如果没有 myredis 说明启动失败 查看错误日志
docker logs myredis
# 查看 myredis 的 ip 挂载 端口映射等信息
docker inspect myredis
# 查看 myredis 的端口映射
docker port myredis

外部访问 redis 容器服务

1
2
3
4
# redis-cli 访问
docker run -it --link myredis:redis --rm redis redis-cli -h redis -p 6379
# -it 交互的虚拟终端
# --rm 退出是删除此容器

使用 shell 登录容器内操作

1
2
docker exec -it myredis bash
redis-cli

参考资料:docker 安装部署 redis(配置文件启动)

坚持技术分享,您的支持将鼓励我继续创作!