Docker 部署简单Springboot 项目

Docker 环境部署参照:https://www.cnblogs.com/oneMr/p/14200760.html

简单 Springboot 项目

新建一个 Springboot 项目,写一个简单的Controller

@RestController
public class HelloController {

    @RequestMapping("/")
    public String hello() {
        return "Hello Docker";
    }
}

在 pom 文件中添加 Docker 镜像名称

    <properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>docker</docker.image.prefix>
    </properties>

plugins 中添加 Docker 构建插件:

<build>
        <plugins>
            <!--Docker 插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- Docker maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
           </plugin>
           <!-- Docker maven plugin -->
       </plugins>
</build>

在 src/main/docker 下创建 Dockerfile 文件(无后缀名),地址即为插件中的 <dockerDirectory>

 Dockerfile 文件内容(ADD 后对应自己的 jar 包名称,如果docker容器内没有 java:8,第一次会下载Java:8):

# 添加 Java 8 镜像来源
FROM java:8

VOLUME /tmp

# 添加 Spring Boot 包
ADD docker-1.0.jar /app.jar

# 执行启动命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 完成后打包项目

 

 

 

 

 

 

 

 

 

 

 

 

 

 

使用 Docker 部署 Spring Boot 项目

将 jar 包和 Dockerfile 上传到服务器的同一个文件夹下

 文件下载:https://cloud.189.cn/t/bUvQfm7b2iUj

 进入文件目录,输入命令构建镜像(helloworld 为镜像名,注意后面有个点表示当前目录)

docker build -t helloworld .

 查看镜像:

docker images

 运行镜像(注意容器的时区问题:-e "TZ=Asia/Shanghai"):

docker run -d -p 8081:8080 -e "TZ=Asia/Shanghai" --name helloworld helloworld

 查看正在运行的镜像:

docker ps

访问地址 ip:8081/

 

 

posted @ 2020-12-31 18:29  宁任翃  阅读(143)  评论(0编辑  收藏  举报