Docker-08-Docker-compose搭建Java微服务

说明

  • 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
      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
      
    • conf/redis.conf

      port 6379 
      bind 0.0.0.0
      
  • 创建并启动服务

    sudo docker-compose up    # 前台启动
    sudo docker-compose up -d # 先前台启动没报错的话,可以后台启动
    
    sudo docker-compose ps    # 查看运行中的服务
    

你可能感兴趣的:(Docker,Java,Linux,java,docker,微服务,docker-compose)