Docker下redis与springboot三部曲之一:极速体验

2022-05-06 13:35:22 浏览数 (1)

从本章开始我们在Docker下进行spring boot操作redis的实战,先从最简单的redis单机版开始吧;

原文地址:http://blog.csdn.net/boling_cavalry/article/details/78991422

实战环境

  1. 本次实战的环境是Ubuntu16,安装的Docker版本是17.03.2-ce;
  2. 创建文件夹/usr/local/work/share,后面会用来做共享文件夹;
  3. 本次实战将创建两个容器,如下表格所示: | 容器名 | ip | 功能| | :-------- | :----| :----| | springbootredis_redis_1| 172.18.0.2 | 单机版redis | | springbootredis_java_1| 172.18.0.3 | 运行springboot工程的环境 |

启动容器

通过docker-compose.yml的方式启动上述两个容器,docker-compose.yml的内容如下:

代码语言:javascript复制
redis:
  image: redis:3
  ports:
    - "6379:6379"
java:
  image: bolingcavalry/springbootrun:0.0.1
  links:
    - redis:redishost
  volumes:
     - /usr/local/work/share:/usr/Downloads  
  ports:
    - "8080:8080"
  tty: true

在此文件所在目录执行命令docker-compose up -d,即可启动两个容器,再执行docker ps可以看到容器信息如下:

spring boot工程

准备一个spring boot工程来读写redis,本章我们的目标是快速体验,所以代码的细节先不讨论,jar包我已准备好,以下两个地址均可下载:

  1. http://download.csdn.net/download/boling_cavalry/10192604
  2. https://github.com/zq2599/demofiles/blob/master/redistempletedemo-0.0.1-SNAPSHOT.jar

jar包下载下来后,放入本机的/usr/local/work/share目录,这个目录和容器的/usr/Downloads是映射关系,所以我们进入容器后可以直接访问这个文件;

部署jar包

  • 执行以下命令进入运行springboot容器:
代码语言:javascript复制
docker exec -it springbootredis_java_1 /bin/bash
  • 进入/usr/Downloads目录,可以看到文件:redistempletedemo-0.0.1-SNAPSHOT.jar
  • 执行以下命令启动容器:
代码语言:javascript复制
java -jar redistempletedemo-0.0.1-SNAPSHOT.jar
  • 启动成功,信息如下:

验证

我的电脑地址是192.168.119.155,所以在浏览器上输入:http://192.168.119.155:8080/set/name/666666999999

以上地址会在redis中设置一个key/value,key是name,value是666666999999,页码提示操作成功,如下图:

输入这个地址可以查看redis中key为"name"的内容:http://192.168.119.155:8080/get/name

页面上展示出redis的内容,如下图:

我们再登上redis容器去检查一下,执行以下命令进入redis容器:

代码语言:javascript复制
docker exec -it springbootredis_redis_1 /bin/bash

执行以下命令进入redis控制台:

代码语言:javascript复制
redis-cli

在控制台执行get name即可看到name对应的值,如下所示:

代码语言:javascript复制
root@rabbitmq:~# docker exec -it springbootredis_redis_1 /bin/bash
root@6e7f4f77eef9:/data# redis-cli
127.0.0.1:6379> get name
"666666999999"
127.0.0.1:6379> 

至此,我们在Docker下简单的体验了springboot工程对redis的读写,接下来的实战,我们将尝试在Docker下搭建redis集群并添加哨兵;

0 人点赞