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

news2025/1/19 11:35:31

Docker通过Dockerfile上传项目

文章目录

  • Docker通过Dockerfile上传项目
      • 1.创建一个简单的springBoot项目
      • 2.写一个简单的接口
      • 3.写Dockerfile文件
      • 4.新建docker镜像
      • 5.上传代码运行

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端口开通。点击应用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APSoDm9q-1677892488737)(https://gitee.com/widespreate/myblog/raw/master/img/1673495136484-35a7924c-7c67-4f2b-9a40-7824d42f4f0f.png)]

5.上传代码运行

1.启动

img

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

img

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

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/386889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

火山引擎 DataTester:A/B 实验如何实现人群智能化定向?

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 在精细化运营时代,用户需求和业务场景愈加多元,在产品功能迭代以及各类活动中,面向不同人群的兴趣点,有针对性地“精…

导师信息管理系统

技术:Java、JSP等摘要:随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套的管理软件提出了更多的要求。为了适应这种形式,教育系统尤其是大学不仅首先要有坚…

小成本互联网创业怎么做?低成本创业的方法分享

多数人都会有想法创业,尤其是在互联网上面创业,很多人看到了商机,但是因为成本的原因又放弃了,实际上,小成本也可以互联网创业!那么,小成本互联网创业怎么做?低成本创业的方法在这里…

【React】React——redux

🚩🚩🚩 💎个人主页: 阿选不出来 💨💨💨 💎个人简介: 一名大二在校生,学习方向前端,不定时更新自己学习道路上的一些笔记. 💨💨💨 💎目…

Java 数据类型

数据类型用于对数据归类,以便开发者理解和操作。 基本数据类型 Java 确定了每种基本数据类型所占存储空间的大小,不会像其它语言那样随机器硬件架构的变化而变化,这使 Java 程序更具可移植性。 Java 中定义了如下的基本数据类型。 byte …

【MobileNet V2】MobileNet V2

目录1、简介2、论文创新点1)倒残差结构 -- Inverted residual block2)ReLU63、网络结构文献名称:MobileNetV2: Inverted Residuals and Linear Bottlenecks 发表时间:2018年 下载地址:https://openaccess.thecvf.com/c…

Vue基础入门讲义(四)-组件化

文章目录1.引言2.定义全局组件3.组件的复用4.局部注册5.组件通信5.1.父向子传递props5.2.传递复杂数据5.3.子向父的通信1.引言 在大型应用开发的时候,页面可以划分成很多部分。往往不同的页面,也会有相同的部分。例如可能会有相同的头部导航。 但是如果…

第二章SpringBoot基础学习

文章目录SpringBoot依赖管理特性依赖管理开发导入starter场景启动器SpringBoot自动配置特性自动配好Tomcat自动配好SpringMVC默认的包结构各种配置拥有默认值按需加载所有自动配置项SpringBoot注解底层注解ConfigurationImport导入组件Conditional条件装配ImportResource导入Sp…

Python入门自学进阶-Web框架——33、瀑布流布局与组合查询

一、瀑布流,是指页面布局中,在显示很多图片时,图片及文字大小不相同,导致页面排版不美观如上图,右边的布局,因为第一行第一张图片过长,第二行的第一张被挤到第二列了。示例:def flow…

大数据框架之Hadoop:MapReduce(八)常见错误及解决方案

1、导包容易出错。尤其Text和CombineTextInputFormat。 2、Mapper中第一个输入的参数必须是LongWritable或者NullWritable,不可以是IntWritable. 报的错误是类型转换异常。 3、java.lang.Exception: java.io.IOException: Illegal partition for 13926435656 (4)&…

51单片机LCD1602的使用

文章目录前言一、LCD1602简单介绍二、LCD1602中各个引脚的作用四、LCD1602命令解析1.写命令2.写数据3.清屏指令4.光标归位指令5.进入模式设置指令6.显示开关控制指令7.设定显示屏或光标移动方向指令三、LCD1602代码编写四、代码测试总结前言 本篇文章将为大家讲解LCD1602的使用…

CPU扫盲-CPU如何执行指令以及流水线技术

在CPU扫盲-CPU与指令集中阐述了CPU与指令集之间的关系,并在CPU扫盲-自研指令集中以创造者的身份深入讲解了指令集,这篇文章则是针对CPU的专场,以x86架构下的CPU为例具体分析一下CPU如何执行指令。 计算机基本硬件由控制器、储存器、运算器、输…

基于java的五子棋游戏设计

技术:Java、JSP等摘要:随着互联网迅速的发展,网络游戏已经成为人们普遍生活中不可或缺的一部分,它不仅能使人娱乐,也能够开发人的智力,就像本文所主要讲的五子棋游戏一样能挖掘人们聪明的才干与脑袋的机灵程…

【大数据 AI 人工智能】数据科学家必学的 9 个核心机器学习算法

如今,机器学习正改变着我们的世界。借助机器学习(ML),谷歌在为我们推荐搜索结果,奈飞在为我们推荐观看影片,脸书在为我们推荐可能认识的朋友。 机器学习从未像在今天这样重要。但与此同时,机器学习这一领域也充斥着各种术语,晦涩难懂,各种机器学习的算法每年层出不穷…

思科2.7.6 Packet Tracer - Implement Basic Connectivity(作业)

Packet Tracer - 实施基本连接地址分配表目标第 1 部分:对 S1 和 S2 执行基本配置第 2 部分:配置 PC第 3 部分:配置交换机管理界面背景信息在这个练习中,您会首先执行基本的交换机 配置。然后您会通过在交换机和 PC 上配置 IP 编址…

【C++】string

【C修炼秘籍】string 目录 【C修炼秘籍】string 文章目录 前言 一、标准库里的string 二、string常用接口功能简介(具体使用和底层转到模拟实现) 1、string类的常见构造函数 2、string类对象的容量操作 3、string类对象的访问及遍历操作 4、 string类对象…

数影周报:LastPass数据泄露事件最新细节

本周看点:LastPass:关键运维员工遭定向攻击;Waymo今年第二轮裁掉137名员工;国家网信办发布《个人信息出境标准合同办法》;京麦商家“取消订单页面”升级;“智研汇”获千万级天使轮投资......数据安全那些事…

ubuntu-8-安装nfs服务共享目录

Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程 ubuntu16.04挂载_如何在Ubuntu 20.04上设置NFS挂载 Ubuntu 20.04 设置时区、配置NTP同步 timesyncd 代替 ntpd 服务器 10.0.2.11 客户端 10.0.2.121 NFS简介 (1)什么是NFS NFS就是Network File System的缩写&#xf…

W800系列||STM32最小版|CKLINK|待完善|学习(3-2):自制cklink调试工具测试(win11系统识别错误待解决)

续前文: W800系列|ST-LINK|STM32最小版|HEX文件|CKLINK|DebugServer|学习(3-1):自制cklink调试工具_打酱油的工程师的博客-CSDN博客 硬件接线 CK-LINK W806 3V3 3V3 RST RST(复位脚) TCK CLK&…

MySQL日志管理

日志管理在数据库保存数据时,有时候不可避免会出现数据丢失或者被破坏,这种时候,我们必须保证数据的安全性和完整性,就需要使用日志来查看或者恢复数据了数据库中数据丢失或被破坏可能原因:误删除数据库数据库工作时&a…