• 使用Dockerfile部署springboot项目 (入门级教程 简单易懂)


    以前我们部署项目

    打包->传到服务器->java -jar运行

    而且服务器还得先配置好java运行环境

    现在,使用docker部署项目,只需要在项目中编写一个Dockerfile文件

    在项目中创建一个Dockerfile文件,我这里就放到项目根路径下

    那么Dockerfile改如何编写呢?下方命令中黑体部分是固定写法

    首先第一步jar包运行肯定需要一个运行环境

    FROM openjdk:8-jdk-slim

    这个from后面怎么写,比如我现在用的java8,到docker hub网站中搜索jdk,点击第一个java进去,在tags标签页下面搜索8-jdk,找到一个linux的jdk,复制下面选中的这一块就可以

    第二步写上作者

    LABEL maintainer=vhukze

    第三步复制jar包

    大家都知道在docker中运行容器,本身是运行了小的linux系统。要运行这个jar包,linux中就得有这个jar包,使用copy命令把jar包复制到一个自定义路径下

    我的Dockerfile文件放到了项目根路径下,跟target目录平级

    COPY target/*.jar /main.jar

    target目录下也就一个jar包,直接写*.jar,把jar包复制到了小linux中根路径下,名称为main.jar

    第四步启动命令

    上面复制完之后名称为main.jar,所以这里启动命令也是启动mian.jar

    ENTRYPOINT ["java","-jar","/main.jar"]

    构建镜像并启动

    至此一个最简单的Dockerfile文件就编写完成了

    全部内容如下

    1. FROM openjdk:8-jdk-slim
    2. LABEL maintainer=vhukze
    3. COPY target/*.jar /main.jar
    4. ENTRYPOINT ["java","-jar","/main.jar"]

    接下来需要根据这个Dockerfile打包镜像

    一般我们自己开发用的Windows电脑都没有安装docker,就需要把target文件夹和Dockerfile文件上传到安装好docker的服务器,在服务器上使用docker构建镜像

    我这里在/usr/local下面创建了一个app文件夹

    把target文件夹和Dockerfile文件上传到这里,target文件夹中只需要有一个jar包就行,其他文件都可以删掉

    在这个目录执行下面命令

    docker build -t java-test:v1.0 -f Dockerfile .

    -t 后面是镜像名称和版本号

    -f 是使用哪个Dockerfile文件,当前目录就有Dockerfile文件,所以这个参数也可以省略不写

    命令最后有一个点(.),这个点表示在当前目录下工作(就是COPY命令在复制的时候以当前目录为基准,把当前目录下target文件夹中的所有jar包复制到容器的小Linux下)

    执行命令后,等待构建完成

     docker images查看镜像是否存在

     启动容器 -d后台启动 -p使用8888端口并映射到主机8888端口

    docker run -d -p 8888:8888 java-test:v1.0

     

     等他启动完成,就可以访问了

     启动好之后如果想查看运行日志

    docker logs 容器ID

     

    如果想在另一个服务器也部署一遍这个项目,应该怎么操作,当然不用再重复上面的操作,请移步下篇博文:docker<应用分享>--本地镜像上传dockerhub、从dockerhub拉取镜像

  • 相关阅读:
    容器安全检测工具KubeHound使用
    AWS CLI 命令行详解
    第二十二章 源代码文件 REST API 参考(四)
    Elasticsearch:使用 function_score 中的weight和gauss衰减函数定制搜索结果的分数
    解决Jetson TX2风扇无反应的问题 && 同时设置开机自起
    掌动智能信创测试服务内容是什么
    【Qt之QTableWidget和QTreeWidget】树悬停、选择样式及表格表头和首行间隔线
    语音识别翻译怎么做?这些方法值得收藏
    【数据物语系列】 漫谈数据分布可视化分析
    F. Minimum Maximum Distance Codeforces Round 903 (Div. 3)
  • 原文地址:https://blog.csdn.net/qq_41890624/article/details/126873259