3.2.12:基于 Dockerfile 制作 Redis 镜像

准备基础镜像

使用之前制作的 centos-init:8.3.2011 作为基础镜像;

编写 Dockerfile

制作 redis-4.0.14 版本的镜像;

root@Images-Server:~# mkdir /Dockerfile/Services/Redis
root@Images-Server:~# cd /Dockerfile/Services/Redis
root@Images-Server:/Dockerfile/Services/Redis# vim Dockerfile
# Redis Dockerfile
#
FROM centos-init:8.3.2011
LABEL maintaier="yqc<20251839@qq.com"ADD redis-4.0.14.tar.gz /usr/local/src
RUN cd /usr/local/src/redis-4.0.14 \&& make PREFIX=/apps/redis install \&& groupadd redis -g 1000 && useradd redis -g 1000 -u 1000 -s /sbin/nologin \&& mkdir -p /apps/redis/{etc,logs,data,run} \&& cp /usr/local/src/redis-4.0.14/redis.conf /apps/redis/etc/ \&& chown redis.redis /apps/redis/ -R \&& ln -sv /apps/redis/bin/redis-* /usr/bin/ ADD redis.conf /apps/redis/etc/redis.conf
ADD run_redis.sh /usr/bin/run_redis.shEXPOSE 6379CMD ["/usr/bin/run_redis.sh"]

准备源码包/配置文件/启动脚本

源码包使用 redis-4.0.14.tar.gz;

启动脚本:

注意要添加执行权限;

root@Images-Server:/Dockerfile/Services/Redis# vim run_redis.sh
#!/bin/bash
/apps/redis/bin/redis-server /apps/redis/etc/redis.confroot@Images-Server:/Dockerfile/Services/Redis# chmod +x run_redis.sh

配置文件:

配置文件中取消守护进程和systemd管理,因为不后台运行,pidfile也不需要了:

daemonize no
#supervised systemd
#pidfile /apps/redis/run/redis_6379.pid
root@Images-Server:/Dockerfile/Services/Redis# cat redis.conf
bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
#supervised systemd
#pidfile /apps/redis/run/redis_6379.pid
loglevel notice
logfile "/apps/redis/logs/redis_6379.log"
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_6379.rdb
dir /apps/redis/data
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync yes
repl-diskless-sync-delay 0
repl-disable-tcp-nodelay no
repl-backlog-size 100mb
slave-priority 100
requirepass 123456
maxmemory 536870912
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly_6379.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
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
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

构建并推送镜像

编写镜像构建及推送脚本:

root@Images-Server:/Dockerfile/Services/Redis# vim docker_build.sh
#!/bin/bash
docker build -t 192.168.1.121/redis/centos-redis:4.0.14 .
docker push 192.168.1.121/redis/centos-redis:4.0.14

执行脚本:


验证镜像

启动 redis 容器,验证写入:

root@Images-Server:~# docker run -itd --name redis1 -p 6379:6379 192.168.1.121/redis/centos-redis:4.0.14root@Images-Server:~# ss -tnl | grep 6379
LISTEN   0         20480                     *:6379                   *:*       root@Images-Server:~# docker ps -f name=redis1
CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS              PORTS                    NAMES
a080f4be716c        192.168.1.121/redis/centos-redis:4.0.14   "/usr/bin/run_redis.…"   9 minutes ago       Up 9 minutes        0.0.0.0:6379->6379/tcp   redis1root@Images-Server:~# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set foo1 bar1
OKroot@Images-Server:~# docker exec -it redis1 bash
[root@a080f4be716c /]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> get foo1
"bar1"
127.0.0.1:6379>

Docker 3.2.12:基于 Dockerfile 制作 Redis 镜像相关推荐

  1. Docker 3.2.5:基于 Dockerfile 制作 Nginx 镜像

    3.2.5:基于 Dockerfile 制作 Nginx 镜像(编译版) 准备基础镜像 使用制作好的 centos-init 作为基础镜像: 编写 Dockerfile 进入相应的 Dockerfil ...

  2. Docker 3.2.8:基于 Dockerfile 制作 JDK 镜像

    3.2.8:基于 Dockerfile 制作 JDK 镜像 准备基础镜像 以 centos-init:v1 为基础镜像: 编写 Dockerfile 切换到相应目录,编写 Dockerfile: ro ...

  3. 基于dockerfile制作apache镜像

    准备工作 [root@cxr ~]# mkdir -p /opt/apache/files [root@cxr ~]# cd /opt/apache/ [root@cxr apache]# touch ...

  4. Docker 3.2.4:基于 Dockerfile 制作 Ubuntu 系统镜像

    3.2.4:基于 Dockerfile 制作 Ubuntu 系统镜像 准备基础镜像 以 ubuntu:latest 为基础镜像: root@ubuntu:~# docker pull ubuntu 查 ...

  5. Docker 3.2.10:基于 Dockerfile 制作 java 程序镜像

    3.2.10:基于 Dockerfile 制作 java 程序镜像 准备基础镜像 以 centos-tomcat:8.5.60 为基础镜像,构建业务镜像: 编写 Dockerfile 创建业务镜像的 ...

  6. 基于Dockerfile制作镜像

    <基于Dockerfile制作镜像> 目录... 2 一.Dockerfile简介及书写规则... 3 1.FROM(指定基础image)... 3 2.MAINTAINER(用来指定镜像 ...

  7. Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像

    文章目录 Pre Docker 官方镜像 Dockerfile dockerfile制作tomcat镜像 准备软件 编写Dockerfile文件 dockerfile构建镜像 启动镜像 测试访问tom ...

  8. dockerfile安装yum_Docker镜像-基于DockerFile制作yum版nginx镜像

    Docker镜像-基于DockerFile制作yum版nginx镜像 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. DockerFile可以说是一种能被Docker程序解释的脚本, ...

  9. docker镜像了解(建立私有仓库,基于已有镜像创建,Docker的数据管理) 基于Dockerfile创建,基于本地模板创建,端口映射,容器互联)

    文章目录 docker镜像 制作镜像的过程 基于已有镜像创建 基于本地模板创建 基于Dockerfile创建 Dockerfile操作指令 Docker的数据管理 数据卷 docker的网络通信 容器 ...

最新文章

  1. Win10系统下软件UI显示不完整解决方案
  2. 反编译APK文件的三种方法
  3. 电脑卡顿不流畅怎么解决_如何解决因电脑内存容量不足引起的卡顿?
  4. linux 删除乱码的文件夹,Linux服务器删除乱码文件和文件夹的方法
  5. Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
  6. php redis type,redis中的几种常用基础对象介绍
  7. 深入详解函数的柯里化
  8. win10 桌面残留文件夹或其他应用关闭后的画面
  9. dvi线支持多少分辨率_为什么用DVI接口分辨率不能达到1080
  10. 会员积分消费系统 php,会员消费管理系统充值营销系统会员积分消费系统.net源码...
  11. 实战一个项目后,谈谈 Rust 语言的优点和缺点
  12. 评救市后中国股市新乱象泛起谣言
  13. [基础库Numpy] 技能树总结:一篇文章学会Numpy库
  14. 精通CSS+DIV网页样式与布局--页面背景
  15. 电脑使用者的眼睛保护
  16. mybatis 启动报错 分析
  17. bi工具有哪些,该怎么选择呢?
  18. java面向对象一些基本练习题4
  19. 容器化 Spring Boot 代码的 9 个技巧
  20. valine评论系统使用

热门文章

  1. 在国内关掉 Chase checking 账户
  2. 李洪强iOS开发之苹果企业开发者账号申请流程
  3. AI电话外呼系统有哪些功能
  4. 《扬帆优配》互联互通扩容提升港股市场活力
  5. 英语中主语从句的概念及其用法,例句(不断更新)
  6. Java Servlet实现文件上传下载操作
  7. .Net单元测试业务实践
  8. 薛定谔的日语学习日语小程序源码
  9. 用python实现西绪福斯黑洞(即123数字黑洞)的演示
  10. 关于确界的一些知识点