docker linux centos 7 redis 安装

37.5 docker linux centos 7 redis 安装

37.5.0 需要一个 centos-ssh-root

37.5.1 编辑 dockerfile

############################################
# version : curiousby/redis-4.0.1
# desc : 当前版本安装的redis-4.0.1
############################################
# 设置继承自我们创建的 tools 镜像
FROM curiousby/centos-ssh-root:original

# 下面是一些创建者的基本信息
MAINTAINER curiousby ([email protected])

# 复制 redis-4.0.1 文件到镜像中
ADD redis-4.0.1 /usr/local/redis-4.0.1

RUN ln -s /usr/local/redis-4.0.1 /usr/local/redis

# 设置 redis 的环境变量
ENV REDIS_HOME /usr/local/redis
ENV LC_ALL C


#容器需要开放Redis 6379端口
EXPOSE 6379

RUN mkdir -p /etc/redis/

COPY redis.conf /etc/redis/redis.conf

COPY autorun.sh /etc/redis/autorun.sh

RUN chmod u+x /etc/redis/autorun.sh

# 执行路径启动服务。
#CMD ["/usr/local/redis-4.0.1/src/redis-server /etc/redis/redis.conf"]

37.5.3 修改 redis.conf 到当前路劲

扫描二维码关注公众号,回复: 222763 查看本文章
daemonize yes   //设置后台启动
protected-mode no //设置非保护模式
#bind 127.0.0.1  //设置非绑定本地

37.5.4 设置自启动脚本

#!/bin/bash
source ~/.bashrc

/usr/local/redis/src/redis-server /etc/redis/redis.conf

37.5.5 执行命令

docker build -t curiousby/centos-ssh-root-redis:original .
docker run -d curiousby/centos-ssh-root-redis:original

docker exec -it  e0 bash

进入容器内部,编译安装
yum -y install gcc automake autoconf libtool make
yum install -y gcc gcc-c++
cd /usr/local/redis
make
make install


docker commit  e00 curiousby/centos-ssh-root-redis:original 
 docker stop e00


docker run -d -p 6379:6379 curiousby/centos-ssh-root-redis:original
docker exec -it 2a3b bash
/etc/redis/autorun.sh

37.5.6 日志

37.5.6.1 bulid 日志



 

[root@localhost centos-ssh-root-redis]# docker build -t curiousby/centos-ssh-root-redis:original .
Sending build context to Docker daemon  9.342MB
Step 1/11 : FROM curiousby/centos-ssh-root:original
 ---> c8be7759c979
Step 2/11 : MAINTAINER curiousby ([email protected])
 ---> Running in 97b11ac19651
 ---> d0809e2db1bc
Removing intermediate container 97b11ac19651
Step 3/11 : ADD redis-4.0.1 /usr/local/redis-4.0.1
 ---> 095e55922133
Removing intermediate container 97cb5c1369b9
Step 4/11 : RUN ln -s /usr/local/redis-4.0.1 /usr/local/redis
 ---> Running in ec31c1e694d2
 ---> 9e827420fd8f
Removing intermediate container ec31c1e694d2
Step 5/11 : ENV REDIS_HOME /usr/local/redis
 ---> Running in 48c20ffc6c06
 ---> cf6e3c2ab921
Removing intermediate container 48c20ffc6c06
Step 6/11 : ENV LC_ALL C
 ---> Running in b6907377fede
 ---> d04419229e50
Removing intermediate container b6907377fede
Step 7/11 : EXPOSE 6379
 ---> Running in a07865b08dce
 ---> 1f3b71f7f4e4
Removing intermediate container a07865b08dce
Step 8/11 : RUN mkdir -p /etc/redis/
 ---> Running in 60953230beba
 ---> dc560129770f
Removing intermediate container 60953230beba
Step 9/11 : COPY redis.conf /etc/redis/redis.conf
 ---> b62219be6a36
Removing intermediate container 7d77e59f0bd4
Step 10/11 : COPY autorun.sh /etc/redis/autorun.sh
 ---> 8635d2862a3e
Removing intermediate container 6985530b0a9e
Step 11/11 : RUN chmod u+x /etc/redis/autorun.sh
 ---> Running in 6f87a73e7c93
 ---> fa0ab9d4f98c
Removing intermediate container 6f87a73e7c93
Successfully built fa0ab9d4f98c
Successfully tagged curiousby/centos-ssh-root-redis:original

37.5.6.2 编译安装日志

make


 make install

 

run

 

ps: 本人写的自启动脚本不能启动,不然就可以自启动了,不需要去容器内部启动,有知道的可以告诉我一下 docker run -d -p 6379:6379 curiousby/centos-ssh-root-redis:original /etc/redis/autorun.sh

感谢下方留言。。。

37.5.7 测试

package com.baoy.cn.redis;
 
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisTest {
	
	private static  Jedis jedis;//非切片额客户端连接
    private static  JedisPool jedisPool;//非切片连接池

    public static void main(String[] args) { 
    	 JedisPoolConfig config = new JedisPoolConfig(); 
         config.setMaxIdle(20); 
         config.setMaxIdle(5); 
         config.setMaxWaitMillis(1000l); 
         config.setTestOnBorrow(false); 
         
         jedisPool = new JedisPool(config,"192.168.206.238",6379);
         jedis = jedisPool.getResource(); 
    	 jedis.set("key001","value001"); 
         System.out.println(jedis.get("key001"));
         
	}

}


 

捐助开发者 

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

 

个人主页http://knight-black-bob.iteye.com/



 
 
 谢谢您的赞助,我会做的更好!

猜你喜欢

转载自knight-black-bob.iteye.com/blog/2394098