说明
- Docker-compose搭建Java微服务
操作步骤
》idea创建一个SpringBoot项目
初始化依赖关系勾选:Spring Web和 Spring Data Redis。
代码中注入StringRedisTemplate,然后连接Redis进行测试。
-
application.properties
server.port=8080 spring.redis.host=redis
- redis:对应下边的docker-compose.yml中的redis服务名
-
IndexController
... @RestController public class IndexController { @Autowired private StringRedisTemplate redisTemplate; @RequestMapping("/index/index") public String index() { redisTemplate.opsForValue().set("k1", String.valueOf(System.currentTimeMillis())); String k1 = redisTemplate.opsForValue().get("k1"); return k1; } } ...
-
打成jar包
idea -> Maven -> Lifecycle -> package
》开始搭建Java微服务
-
创建目录和文件
[admin@192 java]$ tree . ├── docker-compose.yml ├── redis │ ├── conf │ │ └── redis.conf │ ├── data │ └── Dockerfile └── web ├── demo-0.0.1-SNAPSHOT.jar └── Dockerfile 4 directories, 5 files
-
配置docker-compose.yml
version: '3.8' services: web: build: ./web ports: - "8080:8080" depends_on: - redis networks: net01: ipv4_address: 172.16.2.101 redis: build: ./redis ports: - "6379:6379" volumes: - /data/redis/conf:/usr/local/etc/redis networks: net01: ipv4_address: 172.16.2.103 networks: net01: ipam: driver: default config: - subnet: "172.16.2.0/24"
-
配置Java
-
Dockerfile
FROM java:8 MAINTAINER YASIN<cn.yasinyang@gmail.com> COPY ./*.jar /app.jar ENTRYPOINT ["java", "-jar", "/app.jar"]
-
demo-0.0.1-SNAPSHOT.jar
- 就是上一步SpringBoot项目打的jar包
-
-
配置Redis
-
Dockerfile
FROM redis:6.2.6 MAINTAINER yasin<cn.yasinyang@gmail.com>
-
conf/redis.conf
port 6379 bind 0.0.0.0
-
-
创建并启动服务
sudo docker-compose up # 前台启动 sudo docker-compose up -d # 先前台启动没报错的话,可以后台启动 sudo docker-compose ps # 查看运行中的服务