制作redis镜像(实操)
1. 准备工作
下载redis的源码包
wget https://download.redis.io/releases/redis-6.2.1.tar.gz
准备一份redis.conf文件,不准备也可以源码编译完成会有默认的
2. 书写Dockerfile
touch Dockerfile vi Dockerfile
FROM centos RUN ["echo", "start"] # 编译redis工具 RUN yum install -y gcc gcc-c++ net-tools make # 切换工作目录(容器目录) WORKDIR /usr/local/redis # 复制并解压redis源码包 ADD redis-6.2.1.tar.gz . WORKDIR /usr/local/redis/redis-6.2.1/src RUN make && make install WORKDIR /usr/local/redis/redis-6.2.1 # 复制本地配置到redis中 ADD redis.conf ./demo.conf WORKDIR /usr/local/redis/redis-6.2.1/src CMD ["./redis-server", "../demo.conf"]
3. build命令制作镜像
运行docker build -t demo/redis:1.0 . (最后是.的Dockerfile在当前目录,可以-f指定Dockerfile位置)
查看镜像是否已经制作完成
4. 创建运行容器
docker run -d -p 6379:6379 镜像ID
5. 测试
进入容器
[root@localhost src]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e13a5330ce5 6c000f22dfc6 "./redis-server ....." 11 minutes ago Up About a minute 0.0.0.0:6379->6379/tcp eager_mayer [root@localhost src]# docker exec -it 8e13a5330ce5 /bin/bash [root@8e13a5330ce5 src]# ./redis-cli -p 6379 127.0.0.1:6379> get test "test" 127.0.0.1:6379> del test (integer) 1 127.0.0.1:6379> get test (nil) 127.0.0.1:6379>
在docker外部访问,需要修改redis配置
进入日志内部,编辑demo.conf
#bind 127.0.0.1 -::1注释掉,bind的意思是指定访问ip,不在bind列表里面的ip是不能方位redis
protected-mode no 关闭redis的保护模式
# requirepass foobared这里是设置密码默认是关闭,可以自行打开并设置密码
我已经在主机上安装了redis,使用redis-cli连接docker的redis容器
到此redis的镜像制作完成白🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
上一篇:
IDEA上Java项目控制台中文乱码