Dockerfile实现:

FROM centos:7.2.
MAINTAINER hongdada "hongdaqi159505@gmail.com" WORKDIR /home RUN yum install -y wget gcc && \
rpm --rebuilddb && \
yum -y install gcc automake autoconf libtool make && \
yum -y install net-tools && \
yum -y install tar && \
wget http://download.redis.io/redis-stable.tar.gz && \
tar -xvzf redis-stable.tar.gz && \
mv redis-stable/ redis && \
rm -f redis-stable.tar.gz && \
yum clean all && \
cd redis && \
make && make install EXPOSE ENTRYPOINT redis-server /home/redis/redis.conf CMD ["redis-server"]

因为有make命令

所以要

yum -y install gcc automake autoconf libtool make 

想要查看ifconfig,所以安装net-tools

 yum -y install net-tools

利用这个Dockerfile构建镜像命令:

[root@localhost tomcat]# docker build -t redis:v3 .

启动容器:

[root@localhost redis]# docker run -d -p : redis:v3
84ea1a89ef010f61d2fb58f05979691f6cfbd5123399c90cd46c5cc56788e177

查看容器:

[root@localhost redis]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84ea1a89ef01 redis:v3 "/bin/sh -c 'redis..." seconds ago Up seconds 0.0.0.0:->/tcp agitated_chandrasekhar
b445ecc8eb60 centos:v1 "/bin/sh -c '/home..." hours ago Up hours 0.0.0.0:->/tcp suspicious_bassi

进入容器内部:

[root@localhost /]# docker exec -it 84 /bin/bash

对redis进行操作:

[root@84ea1a89ef01 redis]# redis-cli
127.0.0.1:> set name hongdada
OK
127.0.0.1:> set age
OK
127.0.0.1:> keys *
) "age"
) "name"
) "key"
127.0.0.1:>

可能出现的问题:

如果centos更换版本或者 取消yum install gcc,可能会出现-bash: make: command not found提示,

是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可。

yum -y install gcc automake autoconf libtool make

参考:

https://blog.csdn.net/chenyufeng1991/article/details/78766062

http://dockone.io/article/1130

Docker 使用Dockerfile构建redis镜像的更多相关文章

  1. docker使用dockerfile 构建redis镜像

    FROM redis WORKDIR /data VOLUME /data EXPOSE RUN echo "success---------success" ENTRYPOINT ...

  2. docker 基于Dockerfile构建redis

    创建Dockerfile 文件 新建目录 mkdir /var/docker/redis -pcd /var/docker/redis 新建 Dockerfile FROM centos:7.5.18 ...

  3. Docker 使用Dockerfile构建tomcat镜像

    Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...

  4. Docker学习(六)Dockerfile构建自定义镜像

    Docker学习(六)Dockerfile构建自定义镜像 前言 通过前面一篇文章可以知道怎么去使用一个镜像搭建服务,但是,如何构造自己的一个镜像呢,docker提供了dockerfile可以让我们自己 ...

  5. docker通过dockerfile构建JDK最小镜像,Docker导出导入镜像

    docker通过dockerfile构建JDK最小镜像,Docker导出导入镜像 一.docker通过dockerfile构建JDK最小镜像 1.1 下载JRE 1.2 解压JRE,删除相关不需要文件 ...

  6. Dockerfile构建私有镜像

    构建第一个镜像 镜像的定制实际上就是定制每一层所添加的配置,文件.我们可以把每一层修改,安装,构建,操作的命令都写入一个脚本,这个脚本就是Dockerfile.Dockerfile是一个文本文件,其内 ...

  7. Dockerfile构建jar镜像

    dockerDockerfilejar包docker-compose 一.安装docker和compose 二.准备jar包 三.编写配置文件 1. Dockerfile 2. docker-comp ...

  8. docker:Dockerfile构建LNMP平台

    docker:Dockerfile构建LNMP平台   1.dockerfile介绍  Dockerfile是Docker用来构建镜像的文本文件,包含自定义的指令和格式.可以通过docker buil ...

  9. 使用dockerfile构建nginx镜像

    使用dockerfile构建nginx镜像 docker构建镜像的方法:   commit.dockerfile 1.使用commit来构建镜像: commit是基于原有镜像基础上构建的镜像,使用此方 ...

随机推荐

  1. C语言堆栈的区别

    堆(heap)和栈(stack)有什么区别?? 简单的可以理解为: heap:是由malloc之类函数分配的空间所在地.地址是由低向高增长的. astack:是自动分配变量,以及函数调用的时候所使用的 ...

  2. Object-C-自定义类型归档

    对自定义类型的对象进行本地化保存,那么该类型必须实现NSCoding协议! NSCoding 协议中只有两个方法,都是require的方法,一个是把本身的类型进行编码,一个是解码成类对象,返回一个对象 ...

  3. Java基础(basis)-----抽象类和接口详解

    1.抽象类 1.1 abstract修饰类:抽象类 不可被实例化 抽象类有构造器 (凡是类都有构造器) 抽象方法所在的类,一定是抽象类 抽象类中可以没有抽象方法 1.2 abstract修饰方法:抽象 ...

  4. scu 4439 Vertex Cover

    题意: 给出n个点,m条边,将若干个点染色,使得每个边至少有一点染色,问至少染多少个点. 思路: 如果是二分图,那就是最小点覆盖,但是这是一般图. 一般图的最小覆盖是npc问题,但是这题有一个条件比较 ...

  5. Unicode字符需要几个字节来存储?

    0)学习笔记: 我们常说的这句话“Unicode字符是2个字节”这句话有毛病 Unicode目前规划的总空间有17个平面, 0x0000---0x10FFFF,每个平面有 65536 个码点. Uni ...

  6. Linux基础命令---ifdown、ifup

    ifup ifup指令用来启动网络接口设备,设备必须是定义在“/etc/sysconfig/network-scripts/ifcfg-ethX”或者“/etc/sysconfig/network”的 ...

  7. 和風いろはちゃんイージー / Iroha and Haiku (ABC Edition) (水水)

    题目链接:http://abc042.contest.atcoder.jp/tasks/abc042_a Time limit : 2sec / Memory limit : 256MB Score ...

  8. [转载]C# 常用日期时间函数(老用不熟)

    原博地址:http://www.jb51.net/article/20181.htm --DateTime 数字型 System.DateTime currentTime=new System.Dat ...

  9. Web开发相关笔记 #04# WebSocket

    本文的主要内容: HTTP VS. WebSocket WebSocket 的客户端实现(JavaScript) WebSocket 的服务端实现(Java & apache WebSocke ...

  10. Web安全学习笔记之更新kali国内源

    vi /etc/apt/sources.list #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib ...