新建一个SpringBoot项目

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

1、编写微服务项目

编写 controller

@RestController
public class HelloController {

    @Autowired
    StringRedisTemplate stringRedisTemplate;

    @GetMapping("/hello")
    public String hello() {
        Long views = stringRedisTemplate.opsForValue().increment("views");
        return "hello welcome SpringBoot, views: " + views;
    }

}

编写 application.properties

server.port=7070
spring.redis.host=redis

2、编写 Dockerfile

FROM java:8

COPY *.jar /app.jar

CMD ["--server.port=7070"]

EXPOSE 7070

ENTRYPOINT ["java","-jar","app.jar"]

3、编写 docker-compose.yml

version: "3.8"
services:
  webapp:
    build: .
    image: webapp
    depends_on:
      - redis
    ports:
      - "7070:7070"
  redis:
    image: "library/redis:alpine"

4、将 jar包、Dockerfile、docker-compose.yml 全部都上传到服务器同一个目录下

  • jar包 mvn clean package(打包命令)

  • Dockerfile

  • docker-compose.yml

进入到这 docker-compose.yml 文件的目录

启动:docker-compose up

查看:http://ip:7070/hello

如果启动失败检查端口是否被占用

假设项目需要重新打包 build 镜像

# 将会重新构建镜像
docker-compose up --build

后台运行:docker-compose up -d

前台运行: docker-compose up

停止:docker-compose down

更多命令:docker-compose --help

Logo

一站式 AI 云服务平台

更多推荐