SpringBoot Docker 发布

pom 文件 

    <groupId>com.vipsoft.boot</groupId>
    <artifactId>vipsoft-web-boot</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>


 <!-- 统一管理 jar 包版本 -->
    <properties>
        <boot.version>2.2.8.RELEASE</boot.version>
        <java.version>1.8</java.version>
        <docker.image.prefix>vipsoft</docker.image.prefix>
    </properties>


 <build>
        <plugins>
            <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.2.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>

编辑 Dockerfile 文件 

# Docker image for SpringBoot file run
# VERSION 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER Jimmy <[email protected]>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD vipsoft-web-boot-1.0.jar  app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

2.将编译好的jar包和 dockerfile 传到服务器上,我这边用的目录为 /opt/vipsoft

#sftp > put 本地文件路径  远程服务器路径
sftp> put /Users/jimmy/Projects/VipBoot/VipSoft-Web-Boot/src/main/docker/Dockerfile /opt/vipsoft

sftp> put /Users/jimmy/Projects/VipBoot/VipSoft-Web-Boot/target/vipsoft-web-boot-1.0.jar /opt/vipsoft

编辑docker 文件

[root@centos-linux vipsoft]# docker build -t vipsoft .

#运行 docker 
[root@centos-linux vipsoft]# docker run --name vipsoft8081 -d -p 8081:8080 vipsoft

--name 容器名称,后面停止、启动、删除,都可以直接用这个名字
-d 参数是让容器后台运行 
-p 是做端口映射,此时将服务器中的8080端口(对外访问端口)映射到容器中的8080端口(项目设置端口)

访问测试

猜你喜欢

转载自www.cnblogs.com/vipsoft/p/13198861.html