idea通过Dockerfile上传项目到服务器

Docker通过Dockerfile上传项目

1.创建一个简单的springBoot项目

  1. 点击文件–>新建–>项目

img

  1. 点击选择Spring Initializer ,输入相对的文件位置,名称等信息,Java要选8,打包模式Jar。点击下一步

img

  1. Spring Boot尽量别选3.0.0,那样的话jdk会默认17的,然后项目中需要改挺多东西(别问我怎么知道的),依赖项只需要选中Spring Web。

img

  1. 然后就是Maven下载一些东西了,得需要一会

2.写一个简单的接口

  1. 写一个简单的接口,先在本地测试一下
@RestController
public class DockerDemo {
    @GetMapping("/test")
    public String helloDocker(){
        return "Docker test!";
    }
}
  1. 运行项目访问地址localhost:8080/test 接口本地访问成功。

img

3.写Dockerfile文件

1.先在Docker上下载jdk

docker pull openjdk:8u181-jdk

img

2.新建Dockerfile文件,点击项目右键新建文件,输入Dockerfile

img

3.编写Dockerfile文件

#使用8u181-jdk作为基础镜像
FROM openjdk:8u181-jdk
#指定作者
MAINTAINER MySelf
#暴漏容器的8080端口
EXPOSE 8080
#将复制指定的DockerFileDemo-0.0.1-SNAPSHOT.jar为容器中的job.jar,相当于拷贝到容器中取了个别名
ADD target/DockerFileDemo-0.0.1-SNAPSHOT.jar /job.jar
#创建一个新的容器并在新的容器中运行命令
RUN bash -c 'touch /job.jar'
#设置时区
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#相当于在容器中用cmd命令执行jar包  指定外部配置文件
ENTRYPOINT ["java","-jar","/job.jar"]

4.点击Maven,clear然后package

img

4.新建docker镜像

  1. 点击编辑配置

img

  1. 新建Dockerfile

img

主要是新建绑定端口,点击运行的修改新增绑定端口,然后8080是容器内部端口绑定到主机端口,记得吧服务器的8080端口开通。点击应用

在这里插入图片描述

5.上传代码运行

1.启动

img

2.如下图,看到绿色的文字就构建成功了,(记得Dockerflie中的ADD target/后面的jar名字要和你target文件打包出来的名字一致)

img

  1. 访问服务器,此时,本地项目就上传到线上来,之后更改代码重新上传一下就可以了。

img

猜你喜欢

转载自blog.csdn.net/weixin_45948874/article/details/129330348
今日推荐