用dockerfile配置生成docker image并实现容器部署(redis服务)

一、Dockerfile文件:

#Version 1.0 at 2016-04-12
#Author:http://sunday208.blog.51cto.com/

#Base images
FROM centos

#MAINTAINER
MAINTAINER http://sunday208.blog.51cto.com/

#ADD
ADD  tcl8.6.5-src.tar.gz /usr/local/src
ADD  redis-3.0.7.tar.gz /usr/local/src
ADD  CentOS-Base.repo  /usr/local/src

#RUN
RUN \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN rm -rf /etc/yum.repos.d/*.repo
RUN mv /usr/local/src/*.repo  /etc/yum.repos.d/
RUN yum clean all
RUN yum -y install wget  net-tools gcc gcc-c++ make

#WORKDIR
WORKDIR /usr/local/src/tcl8.6.5/unix
RUN  ./configure --prefix=/usr   --without-tzdata   --mandir=/usr/share/man  $([ $(uname -m) = x86_64 ] && echo --enable-64bit)
RUN  make  &&         sed -e "[email protected]^\(TCL_SRC_DIR=‘\).*@\1/usr/include‘@"             -e "/TCL_B/[email protected]=‘\(-L\)\?.*[email protected]=‘\1/usr/[email protected]"             -i tclConfig.sh
RUN  make test && make install && make install-private-headers &&      ln -v -sf tclsh8.6 /usr/bin/tclsh &&      chmod -v 755 /usr/lib/libtcl8.*.so 
RUN echo -e "/lib \n /lib64 \n /usr/lib \n /usr/lib64 \n /usr/local/lib \n /usr/local/lib64 ">>/etc/ld.so.conf
RUN  ldconfig
WORKDIR /usr/local/src/redis-3.0.7
RUN  make
RUN  make install
RUN  cp  src/redis-trib.rb   /usr/local/bin/  && cp src/redis-server   /usr/local/bin/redis-server && chmod +x /usr/local/bin/redis-server
RUN  mkdir /redisdata
RUN rm -rf /usr/local/src/{redis-3*,tcl*}
ADD redis.conf  /etc/redis.conf
WORKDIR /root
RUN yum -y remove gcc gcc-c++ make
RUN ln -sf /dev/stdout  /tmp/redis.log
VOLUME ["/redisdata"]

ENV  REDIS_VERSION 3.0.7
ENV  REDIS_PORT 6379
ENV  REDIS_DATA /redisdata

EXPOSE 6379

CMD /usr/local/bin/redis-server   /etc/redis.conf

二、下载所需软件:

[[email protected] redis]# ls
build.sh  CentOS-Base.repo  Dockerfile  epel-7.repo  redis-3.0.7.tar.gz  redis.conf  tcl8.6.5-src.tar.gz

三、执行使用镜像:

docker build -t redis:v1 /opt/docker/redis

四、运行容器:

五、测试:

[[email protected] ~]# echo "set key1  http://sunday208.blog.51cto.com/addblog.php" | redis-cli -c -p 4034 -h 192.168.12.81           
OK
[[email protected] ~]# echo "get key1" | redis-cli -c -p 4034 -h 192.168.12.81                                             
"http://sunday208.blog.51cto.com/addblog.php"
[[email protected] ~]#

六、需要解决:

集群化配置。后面再测试。

时间: 2024-08-01 19:49:19

用dockerfile配置生成docker image并实现容器部署(redis服务)的相关文章

DOCKER简明教程 : 通过容器连接REDIS数据库

序言 本文重点讲解了如何通过Redis的官方镜像和Docker容器来搭建redis-cli,并将其连接到Redis镜像.首先要跟大家简单介绍一下Redis,这是一个键值存储系统,除了对场景进行缓存之外,Redis还提供了很多强大的功能,因此也目前是非常受欢迎的一个数据库. Docker镜像仓库简介 大家可以在Docker Hub里搜索到目前所有的主流应用和服务的镜像,像Python语言.MySQL数据库等等镜像在Docker Hub里面都有.而且Docker Hub里面的镜像数量非常多,不管我们

Docker 之 基于LAMP容器部署WordPress

LAMP的网络连接,有两个方法 第一:nginx需要两个网卡,一个面向客户端,一个面向fpm,而fpm也要有两个网卡,一个面向nginx,一个面向mysql 第二,nginx和fpm,mariadb都在同一docker0桥,只需把nginx端口暴露就可以 准备三个镜像,用于nignx,fpm,mariadb. mkdir -pv /root/lnmp/{nginx,fpm,mariadb} 使用绑定挂载的卷,目的明确,但是不能保证后期运行这些容器的宿主机上也有这些卷存在,因此,建议使用docke

docker安装 镜像和容器的操作

目录 1 docker 介绍 3 centos安装docker 2 容器和镜像 3 加速配置 4 镜像操作 5 容器操作 1 docker 介绍 # 1 虚拟化--->虚拟机,硬件虚拟化 # 2 docker:centos系统-->大约90m # 3 开源项目,诞生于2013---->17年以后-->两年多的时间 # 4 基于go语言实现的--->docker ce:免费的 docker ee:收费 # 5 轻量级的操作系统虚拟化解决方案 # 6 Docker 的基础是 Li

【docker】为docker下的php容器安装php-redis扩展【编译安装】

原文:[docker]为docker下的php容器安装php-redis扩展[编译安装] 使用docker安装的PHPFPM容器没有Redis扩展,需要安装一下扩展. 首先进入docker的PHPFPM容器 ? 1 $ docker exec -it myphpfpm /bin/bash 依次执行下列命令 ? 1 2 3 4 5 6 7 8 9 10 11 $ curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/ar

docker~通过vs2017的Dockerfile来生成镜像

Dockerfile这个东西我们之前是介绍过,它方便,快捷,易用,而在vs2017中也对docker进行了支持,而生成docker image的方式就是有用Dockerfile为基础的,在添加docker支持之后,vs会为我们在根目录下生成一个Dockerfile的文件,我们可以通过docker客户端来编译这个Dockerfile,并把它build一个镜像文件,方便至极! 你可以在docker平台上下载windows版本的安装包,当前需要安装一个toolbox的插件 启动之后,系统会为docke

Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较

1.概述 创建Docker镜像的方式有三种 docker commit命令:由容器生成镜像: Dockerfile文件+docker build命令: 从本地文件系统导入:OpenVZ的模板. 关于这三种方式的大致说明请参考yeasy/docker_practice的创建镜像. 最近学习了Dockerfile文件的相关配置,这里做一下简单的总结,并对之前一直感到有些迷惑的CMD和ENTRYPOINT指令做个差异对比. 2.Dockerfile文件总结 Dockerfile 由一行行命令语句组成,

2018-05-04~2018-05-06 在docker上生成运行了tomcat的容器

1.创建文件夹$ mkdir mytomcat 2.切换到文件夹,且将下载好的jdk-8u162-linux-x64.tar.gz.apache-tomcat-7.0.85.tar.gz压缩包拷贝到此目录下(自行编写命令).$ cd mytomcat 3.生成Dockerfile文件并编辑内容$ gedit DockerfileFROM ubuntu:16.04ADD jdk-8u162-linux-x64.tar.gz /java/ADD apache-tomcat-7.0.85.tar.gz

使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上

一个用于构建和推送Docker镜像的Maven插件. 使用Maven插件构建Docker镜像,将Docker镜像push到DockerHub上,或者私有仓库,上一篇文章是手写Dockerfile,这篇文章借助开源插件docker-maven-plugin 进行操作 以下操作.默认你已经阅读过我上一篇文章: Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo http://www.ymq.io/2018/01/11/Docker-deploy-spring-bo

Springboot 生成docker image

前段日子搭建了一个kubenetes集群,kubenetes是需要载入docker image来运行应用的. 我使用的是Springboot框架,因此向大家分享一下Springboot生成docker image的一个方法.不对的地方请指教- 一.Springboot生成jar包 docker image生成需要用到项目build生成的jar包,因此第一步你需要生成一个jar包.maven项目,命令是: mvn clean package 二.Dockerfile 1.jar生成完毕后,需要创建