Docker通过Dockerfile上传项目
文章目录
- Docker通过Dockerfile上传项目
- 1.创建一个简单的springBoot项目
- 2.写一个简单的接口
- 3.写Dockerfile文件
- 4.新建docker镜像
- 5.上传代码运行
1.创建一个简单的springBoot项目
- 点击文件–>新建–>项目
- 点击选择Spring Initializer ,输入相对的文件位置,名称等信息,Java要选8,打包模式Jar。点击下一步
- Spring Boot尽量别选3.0.0,那样的话jdk会默认17的,然后项目中需要改挺多东西(别问我怎么知道的),依赖项只需要选中Spring Web。
- 然后就是Maven下载一些东西了,得需要一会
2.写一个简单的接口
- 写一个简单的接口,先在本地测试一下
@RestController
public class DockerDemo {
@GetMapping("/test")
public String helloDocker(){
return "Docker test!";
}
}
- 运行项目访问地址localhost:8080/test 接口本地访问成功。
3.写Dockerfile文件
1.先在Docker上下载jdk
docker pull openjdk:8u181-jdk
2.新建Dockerfile文件,点击项目右键新建文件,输入Dockerfile
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
4.新建docker镜像
- 点击编辑配置
- 新建Dockerfile
主要是新建绑定端口,点击运行的修改新增绑定端口,然后8080是容器内部端口绑定到主机端口,记得吧服务器的8080端口开通。点击应用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APSoDm9q-1677892488737)(https://gitee.com/widespreate/myblog/raw/master/img/1673495136484-35a7924c-7c67-4f2b-9a40-7824d42f4f0f.png)]
5.上传代码运行
1.启动
2.如下图,看到绿色的文字就构建成功了,(记得Dockerflie中的ADD target/后面的jar名字要和你target文件打包出来的名字一致)
- 访问服务器,此时,本地项目就上传到线上来,之后更改代码重新上传一下就可以了。