package com.shenmazong.docker;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class ServerDockerDemoApplication {
public static void main(String[] args) {
SpringApplication.run(ServerDockerDemoApplication.class, args);
}
}
package com.shenmazong.docker.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* @author 军哥
* @version 1.0
* @description: IndexController
* @date 2022/9/12 20:58
*/
@RestController
@RequestMapping(value = "/index")
public class IndexController {
@GetMapping(value = "/userInfo")
public Map<String, Object> userInfo() {
Map<String, Object> map = new HashMap<>();
map.put("name", "军哥");
map.put("age", 27);
return map;
}
}
# 应用名称
spring.application.name=server-docker-demo
# 应用服务 WEB 访问端口
server.port=8080
mvn clean install -DskipTests
mkdir -p /server/docker
上传jar到服务器的/server/docker目录下,如图:
在/server/docker目录下创建Dockerfile文件,内容如下:
#指定基础镜像,不需要另外安装jdk
FROM java:8
#维护者
MAINTAINER andy
#将本地文件添加到容器中,并更名为demo.jar
COPY server-docker-demo-0.0.1-SNAPSHOT.jar demo.jar
#指定访问端口,与yml文件中的端口一致
EXPOSE 8080
#容器启动时,运行该程序
ENTRYPOINT ["java", "-jar", "/demo.jar"]
使用如下命令创建docker镜像
# demo为镜像的名字,注意不要少了后面的 .
docker build -t demo .
docker images
docker run -d -p 9013:8080 --name demo-test demo