#!/bin/bash
yum install -y gcc gcc-c++ make openssl openssl-devel
cd /home/redis-4.0.9
make && make prefix=/usr/local/redis install
mkdir -p /usr/local/redis/conf/
cp /home/redis-4.0.9/redis.conf /usr/local/redis/conf/
#sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf
#sed -i '88s/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.conf
编写Dockerfile
from centos;7
ADD redis-4.0.9.tar.gz /home
COPY redis_install.sh /home
RUN sh /home/redis_install.sh
ENTRYPOINT /usr/local/redis/bin/redis_server /usr/local/redis/conf/redis.conf
构建镜像
docker build -t mycentos:redis .
创建容器
docker run -itd mycentos:redis
测试redis
docker exec -it mycentos:redis /bin/bash
宿主机连接容器
docker run -itd -p 6380:6379 mycentos:redis
/usr/local/redis/bin/redis_server -p 6380
Error:Connect reset by peer
容器中的redis启用了保护模式。进入容器
docker exec -it mycentos:redis /bin/bash
vi /usr/local/redis/conf/redis.conf
protected-mode yes改为 no
bind 127.0.0.1注释掉
/usr/local/redis/bin/redis_server -p 6380
127.0.0.1:6389>
通过IP连接
docker inspect mycentos:redis
IPAddress:172.17.0.3
/usr/local/redis/bin/redis-cli -h 172.17.0.3 -p 6379
test2026-06-07 10:40
