dockerfile 构建 redis 镜像
来源:互联网 发布:淘宝网真皮包包 编辑:程序博客网 时间:2024/06/06 19:41
Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。
dockerfile 有两个步骤
步骤1:用来将 redis 包丢到 docker.showjoy.net/centos 镜像,并且安装一些常用的包及修改redis的一些配置,等配置好之后进行 docker commit
步骤2:设置 redis 启动的一些命令参数
下面通过 dockerfile 创建 redis 镜像
一、准备基础镜像 docker.showjoy.net/centos
二、准备 redis 包 和 dockerfile
dockerfile 文件内容:
三、构建 redis-test 镜像
docker build -t redis-test . 这里的 . 表示dockerfile文件在当前目录
四、启动 redis-test 镜像,进入 docker container 将添加的 redis 进行安装,并且设置参数。(安装 redis 步骤略,这边需要注意的是 redis 密码和 bind 参数,注释掉表示监听所有地址)
五、在容器中安装配置完 redis 后退出,重新将现有的 redis 容器提交成一个新的镜像
六、通过 dockerfile 再次将 redis-test1 生成为 docker.showjoy.net/redis
看看 dockerfile ,FROM 已经从 docker.showjoy.net/centos 变为刚才提交的镜像,redis-test1,ADD redis 也已经去掉,变为 CMD。表示启动该容器后执行的命令:
下面构建新的镜像 docker.showjoy.net/redis
七、运行 docker.showjoy.net/redis 镜像,生成 redis 容器,并且查看日志,可以看到 docker 容器已经成功运行。
[root@docker redis]# docker run -dit --name redis -p 6379:6379 --restart=always -v /etc/localtime:/etc/localtime:ro docker.showjoy.net/redis7f1a65c270af2360d4391a98af21783209aa913df54c2a255ef9b3645babcc68[root@docker redis]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES7f1a65c270af docker.showjoy.net/redis "/bin/sh -c '\"/usr/lo" 3 seconds ago Up 1 seconds 0.0.0.0:6379->6379/tcp redisae8e32d252bc bca04f698ba8 "docker-registry" 18 hours ago Up 18 hours 0.0.0.0:5000->5000/tcp registry[root@docker redis]# docker logs redis _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.0 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 1 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 1:M 19 May 16:27:50.591 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.1:M 19 May 16:27:50.591 # Server started, Redis version 3.2.01:M 19 May 16:27:50.591 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.1:M 19 May 16:27:50.591 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.1:M 19 May 16:27:50.591 * The server is now ready to accept connections on port 6379
八、通过客户端 Redis Desktop Manager 来连接 redis 容器,如下图,连接成功
- dockerfile 构建 redis 镜像
- Dockerfile 构建镜像
- dockerfile构建redis镜像及如何跳过确认交互
- Dockerfile构建本地镜像
- Docker-Dockerfile构建镜像
- 使用Dockerfile构建镜像
- docker 镜像构建Dockerfile
- Docker镜像构建-Dockerfile
- 利用Dockerfile构建镜像
- Dockerfile:redis镜像编写
- Docker-- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- Dockerfile构建Tomcat+jdk镜像
- 如何使用Dockerfile构建镜像
- 如何使用Dockerfile构建镜像
- 职业生涯那些坎!你都过去了吗?
- MySQL性能分析及explain的使用说明
- ElasticSearch(八)-排序(相关性算法)
- Mysql问题分析工具
- Oracle导入导出数据
- dockerfile 构建 redis 镜像
- elk之压测
- mysql_fetch_row()与nysql_fetch_array()使用的详细说明
- 续记HTML & CSS基础
- android——彻底关闭——应用程序
- 让APP字体不受系统字体大小影响
- Hue安装指南
- 代码混淆详解
- Linux驱动之设备模型(4)