docker部署jar工程

1、把要部署的功能打成jar

  工程目录结构

  pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.oy</groupId>
    <artifactId>test_docker</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>test_docker</name>
    <description>test_docker project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

  IndexController.java

/**
 * @author oy
 * @version 1.0
 * @date 2019年11月11日
 * @time 上午2:18:09
 */
@Controller
public class IndexController {

    @RequestMapping("test")
    public String test() {
        return "test";
    }
}

  clean install -DskipTests将工程打成jar包,改名为test_docker.jar。

  将test_docker.jar上传到linux的指定目录, 比如/root/mydocker/test_docker。

2、准备工作

  docker pull mcr.microsoft.com/java/jdk:8u192-zulu-alpine

3、编写Dockerfile

FROM mcr.microsoft.com/java/jdk:8u192-zulu-alpine
MAINTAINER oy

COPY test_docker.jar /usr/local/app.jar

# 执行java -jar命令(CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
CMD java -jar /usr/local/app.jar

# 设置对外端口为8089
EXPOSE 8080

4、docker build

  docker build -f /root/mydocker/test_docker/Dockerfile -t oy/test_docker:1.1 .

5、docker run

  docker run -it -p 8080:8080 oy/test_docker:1.1

6、访问

参考 https://blog.csdn.net/jiangyu1013/article/details/81988342

猜你喜欢

转载自www.cnblogs.com/xy-ouyang/p/11832615.html