基础SpringBoot项目通过Docker部署到Linux服务器

1.服务器安装jdk, maven(包括/etc/profile环境变量的配置)

1.1 从jdk官网下载tar.gz,复制到服务器上,解压到专门的文件夹,便于管理

1.2 maven自行百度

1.3 环境变量一定要配好

  • 分享我的,注意这样写是因为我的jdk解压到/usr/local/java/jdk1.8路径,maven安装在/usr/local/maven3,不一定适用于你的环境
#set java environment
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#set maven environment
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

2.服务器安装docker(可以使用宝塔傻瓜式安装)

3.初始化一个springboot项目,要做的有:

3.1 准备好Getmapping(“/hello”)等到服务器上运行起来后好测试;

3.2 pom中引入docker-maven插件,以下代码在< build ></ build >中

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <!-- docker插件 -->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
            <imageName>imagetest/dockerimage</imageName>
            <dockerDirectory>./</dockerDirectory>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>
</plugins>
  • 其中imageName是后面生成的镜像的名称,不能包括大写,有的教程写的是$ {docker.image.prefix}/${project.artifactId},我直接把它写死了;
  • 其中dockerDirectory 是Dockerfile的路径,建议直接放在项目下,也就是和src、target同级,写法如上代码。

3.3 写Dockfile

FROM java:8
EXPOSE 8080
VOLUME /tmp
ADD DockerDemoS-0.0.1-SNAPSHOT.jar  /app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  • 其中第四行DockerDemoS-0.0.1-SNAPSHOT.jar是mvn package到target里的jar包的名字

4.把整个项目复制到服务器上

  • 在项目目录下mvn package一下,把jar包打出来
  • 执行mvn package docker:build,等待BUILD SUCCESS
  • 这时候算是把镜像构建好了,镜像的名字是在pom里配置的,还记得吗,我是给写死了,是imagetest/dockerimage,通过docker images命令可以查到,然后就可以把这个镜像运行起来了

5.运行项目

  • docker run -p 8080:8080 -t imagetest/dockerimage,-t后面代表的是镜像的名称,然后-p把服务器的8080映射到容器的8080端口,访问服务器ip:8080/hello就可获得getmapping返回的内容。

还在学习中,这只是敲下docker的门…

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值