docker-compose部署redis-web及redis

redis-web

一个简单的spring-boot-web项目,访问redis数据库,进行数据的定入,读取,及获取当前ip。

HelloController.java

package com.wjg.redistest.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * created by jingang.wu on 2019/8/28
 */

@RestController
public class HelloController {

    @Autowired
    private RedisTemplate redisTemplate;

    @RequestMapping("/set")
    public String redisSet(@RequestParam("k") String k, @RequestParam("v") String v) {
        redisTemplate.opsForValue().set(k, v);
        return "ok";
    }

    @RequestMapping("/get")
    public String redisGet(@RequestParam("k") String k) {
        return (String) redisTemplate.opsForValue().get(k);
    }

    @RequestMapping("/ip")
    public String ip() throws UnknownHostException {
        InetAddress address = InetAddress.getLocalHost();
        return address.getHostAddress(); //返回IP地址
    }
}

application.properties

# 可传入环境变量更改配置
server.address=${SERVER_ADDR:0.0.0.0}
server.port=${SERVER_PORT:8001}

spring.redis.database=0
spring.redis.host=${REDIS_HOST:192.168.11.12}
spring.redis.port=${REDIS_PORT:6379}

打包后生成redis-test-0.0.1-SNAPSHOT.jar

redis-web Dockerfile

FROM openjdk:8-jdk
COPY ./redis-test-0.0.1-SNAPSHOT.jar /usr/local
EXPOSE 8001
ENTRYPOINT ["java", "-jar", "/usr/local/redis-test-0.0.1-SNAPSHOT.jar"]

docker-compose.yml

version: "3.4"
services:
  redis-web:
    image: redis-web:1.0
    container_name: redis-web
    restart: always
    environment:
      REDIS_HOST: redis-app
    ports:
      - 8001:8001
    depends_on:
      - redis-app
  redis-app:
    image: redis:latest
    container_name: redis-app
    restart: always
[root@vm02 test]# docker-compose ps
  Name                 Command               State           Ports         
---------------------------------------------------------------------------
redis-app   docker-entrypoint.sh redis ...   Up      6379/tcp              
redis-web   java -jar /usr/local/redis ...   Up      0.0.0.0:8001->8001/tcp

注:主机外无法访问redis数据库,只能通过redis-web访问。

测试

设置值到redis

获取redis中的值

你可能感兴趣的:(docker-compose部署redis-web及redis)