iojsioi 发表于 2018-11-5 10:51:10

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

#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
  
ADDtcl8.6.5-src.tar.gz /usr/local/src
  
ADDredis-3.0.7.tar.gz /usr/local/src
  
ADDCentOS-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 wgetnet-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)
  
RUNmake&& \
  
      sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
  
            -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
  
            -i tclConfig.sh
  
RUNmake 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
  
RUNldconfig
  
WORKDIR /usr/local/src/redis-3.0.7
  
RUNmake
  
RUNmake install
  
RUNcpsrc/redis-trib.rb   /usr/local/bin/&& cp src/redis-server   /usr/local/bin/redis-server && chmod +x /usr/local/bin/redis-server
  
RUNmkdir /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"]
  

  
ENVREDIS_VERSION 3.0.7
  
ENVREDIS_PORT 6379
  
ENVREDIS_DATA /redisdata
  

  
EXPOSE 6379
  

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


页: [1]
查看完整版本: 用dockerfile配置生成docker image并实现容器部署(redis服务)