docker多容器link+spring-boot整合redis示例
作者都是在win10环境下做的练习
spring boot+redis项目(极简示例)下载地址(百度网盘):https://pan.baidu.com/s/1sEDFzXcZ6LDdSb4SqbYIpw 提取码:bu23
第一步:创建两个docker容器
1:redis容器:提供redis环境,可自行到docker-hub官网下载image。
2:web容器:本文使用的spring-boot项目最终打包类型为可执行的jar文件,所以可以用java -jar来执行最终的web程序。
所以我们的web容器不需要tomcat环境,只需要合适的jdk环境即可。本文使用的jdk容器镜像为:docker pull primetoninc/jdk
3: 命令行创建web容器时link到redis容器:创建新的web容器时,被link的redis容器一定是已经启动的。创建语句如下
docker run -it --name web --link myredis:myredis -p 8888:8080 primetoninc/jdk:1.8
web为web容器名,myredis:myredis为redis容器名和别名,web容器的8080端口被映射到win10宿主机的8888,primetoninc/jdk:1.8为镜像名。
第二步:打包spring-boot-redis项目
1:在idea中导入该项目File-->New-->Project from Existing Sources,选中该项目文件夹下的pom.xml,执行导入。
2:修改application.properties文件中的spring.redis.host=自己的redis容器名。如果idea用波浪线提示你的redis host名称存在英文语法问题,最好fix该问题:将其加到 idea字典,否则在打包时可能会报错。如图:
3:修改pom.xml文件,加入打包时跳过测试。
4:maven clean package生成最终的可运行jar。
第三步:win10命令行下上传jar文件到web容器,运行
1:文件夹地址栏中填cmd,直接进入命令行
2:上传(复制)文件语句 docker cp spring-boot-redis-1.0.0-SNAPSHOT.jar web:/spring-boot-redis-1.0.0-SNAPSHOT.jar
3:执行jar文件,在打印的日志中注意查看是否有报错。避免出现8080端口被其他进程占用。成功启动如下图:
第四步:访问web
宿主机浏览器地址中输入 :localhost:8888/getUser 即可访问对应的服务