docker安装以及springboot项目打包运行

2023/9/30 17:49:02

我们都知道docker是一个非常好用的虚拟化容器,所谓虚拟化容器其实就是说可以将各个应用都隔离开来,每个应用都可以有自己的独立的运行时环境,这对于我们程序开发是非常有好处的,可以不需要去配置环境,每个组件都有独立的运行环境,不会互相干扰,而且想要更换组件的版本也是非常容易的。本文就记录一下我安装docker以及将springboot项目打包成镜像运行的过程。

docker安装

我的环境是centos7,网上有非常多的教程教你安装docker,我是按照下面的教程安装成功的,当然你也可以找其他的教程

centos7安装Docker详细步骤(无坑版教程) - 腾讯云开发者社区-腾讯云 (tencent.com)

这是我的环境

这个教程说是无坑,其实是有坑的,就是等安装完docker后会没有办法启动,会报下面的这个错

Cannot connect to the Docker daemon at tcp://localhost:4243. Is the docker daemon running? 

我的解决办法是这篇文章

(2条消息) 完美解决Cannot connect to the Docker daemon at tcp://localhost:4243. Is the docker daemon running?_"connection to the docker daemon at 'localhost' fa_喜欢吃腊肉的Naro的博客-CSDN博客

简单说就是要找到docker.service文件,然后添加一些内容

我的文件路径和文章里稍微有点不同

在做完上述两步后我的docker就可以正常使用了

springboot项目打包运行

首先是创建springboot项目,我用的jdk版本是1.8,对应的springboot版本应该是2开头的,idea默认创建的springboot版本是3开头的会报错,我的pom.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

如果运行项目的时候提示找不到springboot相关的注解的话别忘了将下面的选项勾上

编写一个简单的接口,看到浏览器能正常访问了就说明springboot项目构建成功

然后将springboot项目打成jar包

编写Dockerfile文件,文件名就叫这个,没有后缀

# 基础镜像java
FROM openjdk:8
# 添加jar包
ADD /demo.jar //
#地址映射
CMD ["--server.port=8080"]
#对外暴露端口
EXPOSE 8080
#执行命令
ENTRYPOINT ["java","-jar","/demo.jar"]

将打包的jar包和Dockerfile文件传到linux服务器上,因为我的docker是安装在linux服务器上的,我使用的是虚拟机,然后用winSCP传文件

到指定的目录下用docker打包

打包的命令是

docker build -t springboot-demo .

接着我们可以查看镜像并且运行

 使用ifconfig命令查看linux的ip地址

根据相应的ip地址进行访问

到这里就大功告成啦ヾ(✿゚▽゚)ノ 


http://www.jnnr.cn/a/369117.html

相关文章

FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(三)

如图1所示是USB2.0/RS232/ETH控制并行DAC输出任意频率正弦波、梯形波、三角波、方波的整体设计示意图&#xff0c;可以看到上位机通过RS232串口、ETH千兆网口以及USB2.0接口和FPGA建立通信&#xff0c;通过不同的接口发送报文&#xff0c;FPGA在指令解析模块中把相关设置和参数…

栈和队列OJ题合集(包含循环队列的两种实现)

目录 一:前言 二:有效的括号(括号匹配) 三:用队列实现栈 四:用栈实现队列 五:设计循环队列 一:前言 对栈和队列的基本性质和实现有问题的可以看上一期 链接&#xff1a;http://t.csdn.cn/YQMBA​​​​ 注意:本文用数据的大小来表示入栈入队的先后。 二:有效的括号(括号匹配…

networkx 2-hop邻居(Ego graph)节点

1 Ego graph的简单介绍 自我网络(Ego graph)是一种特殊类型的网络&#xff0c;由一个中心节点和所有直接与之相连的其他节点组成。 中心节点被称为 自我(ego)&#xff0c;而与之直接相连的其他周围节点被称为 分身( alters)。 自我网络大多用于分析社会联系、链接和关系。下…

带刷,带刷,刷起来!!!

A:::::::::::::::::::通电&#xff08;最小生成树&#xff0c;Prim&#xff0c;Kruskal&#xff09; 题目描述 2015 年&#xff0c;全中国实现了户户通电。作为一名电力建设者&#xff0c;小明正在帮助一带一路上的国家通电。 这一次&#xff0c;小明要帮助 n 个村庄通电&am…

C的实用笔记37——几种常用的字符串处理API(二)

6.字符串拼接函数 0、知识点&#xff1a; 内存污染&#xff08;存储字符串的目的内存不够用时&#xff0c;后面的内存会被污染&#xff0c;也就是被修改&#xff0c;类似于下标越界&#xff09; strcat其实就是另一种形式的strcpy&#xff0c;一个从末尾开始复制&#xff0c;一…

[计算机图形学]着色,布林-冯着色模型,着色频率(前瞻预习/复习回顾)

一、前言 到目前为止的前几篇文章已经向大家介绍了从MVP变换到屏幕映射到光栅化的过程&#xff0c;但是仅仅这些还不能让我们很好的模拟真实的世界&#xff0c;究其原因是上面的所有过程都没有涉及光线的运算&#xff0c;而缺少了光也就缺少了明暗的变化&#xff0c;导致渲染出…

Twitter的推荐系统开源了,Twitter的推荐系统是什么样的呢?Twitter推荐系统的架构说明

Twitter的推荐系统开源了&#xff0c;Twitter的推荐系统是什么样的呢&#xff1f;Twitter推荐系统的架构说明01. Twitter的推荐系统是什么样的&#xff1f;02. Candidate Sources2.1 In-Network Source2.2 Out-of-Network Sources03. Ranking04. Heuristics, Filters, and Prod…

[综]Review of bike-sharing system studies using bibliometrics method

Review of bike-sharing system studies using bibliometrics method 文献计量学方法在自行车共享系统研究中的应用 article{2022reviewbikesharing, title {Review of bike-sharing system studies using bibliometrics method}, journal {Journal of Traffic and Transport…

Spring源码分析-Bean创建流程四

目录 目录 一、前言 二、Bean实例化构造器的选择 1、createBeanInstance方法解读 2、autowireConstructor 二、BeanPostProcess四个实现中的哪里会用到 Autowired注解构造使用注意 三、实例化几种策略 1、instantiateBean入口 2、获取实例化策略并且进行实例化操作主要有…

vue尚品汇商城项目-day04【25.面包屑处理关键字】

文章目录25.面包屑处理关键字25.1面包屑处理关键字25.2面包屑处理品牌信息25.3平台售卖属性的操作25.面包屑处理关键字 25.1面包屑处理关键字 &#xff08;1&#xff09;动态开发面包屑中的分类名 变成式导航路由跳转【自己跳自己】 &#xff08;2&#xff09;动态开发面包…

(Cont.) OpenPose OpenCV Caffe QT

Cont. conda deactivate Remember to deactivate conda before compiling conda deactivatecaffe colas.h Path: openpose/3rdparty/caffe/include/cblas.h Case 1: 如果没有 寻找一下 &#xff08;大概率在python directory有&#xff09;复制过来即可 exactly寻找命令&am…

C语言 —— 数组

一维数组与二维数组前言一、 一维数组1.1 一维数组定义和使用1.2 例子 &#xff1a;列出0-9的数字1.3 一维数组的初始化1.4 数组名二、二维数组2.1 二维数组的定义2.2 例题&#xff1a;一个学习小组有 5 个人&#xff0c;每个人有 3 门课程的考试成绩&#xff0c;求该小组各科的…

javaScript蓝桥杯----偷梁换柱

目录一、介绍二、目标三、代码四、知识点1. Object.defineProperty五、答案一、介绍 随着医疗水平的进步&#xff0c;人的平均寿命在慢慢提升。现在全球平均预期寿命是 73.2 岁&#xff0c;而在 1950 年则只有 47 岁。那么人类的寿命有极限吗&#xff1f;根据最新的研究&#…

用户体验设计中的颜色

&#x1f525;1 颜色模型是一种抽象的用于描述颜色被定义和呈现方式的数学模型。RGB模型&#xff08;加色模式&#xff09;最多用于显示器上&#xff0c;因为它是发光的颜色。CMYK模型&#xff08;减色模式&#xff09;适用于印刷体&#xff0c;不会发光而是反光的模式&#x1…

全网最详细的nodejs卸载和安装教程

因为项目需求&#xff0c;重装了3个版本的node.js&#xff0c;记录下完整过程&#xff0c;少走弯路少查资料。 一、卸载 1、Win菜单中找到Node.js的卸载程序&#xff0c;运行卸载程序。 2、点击是。 3、等待卸载完成。 4、删除C:\Users\用户名\AppData\Roaming目录下的npm和…

Linux使用:环境变量指南和CPU和GPU利用情况查看

Linux使用&#xff1a;环境变量指南和CPU和GPU利用情况查看Linux环境变量初始化与对应文件的生效顺序Linux的变量种类设置环境变量直接运行export命令定义变量修改系统环境变量修改用户环境变量修改环境变量配置文件环境配置文件的区别profile、 bashrc、.bash_profile、 .bash…

苦中作乐---竞赛刷题(15分-20分题库)

&#xff08;一&#xff09;概述 &#xff08;Ⅰ&#xff09;彩票是幸运的 &#xff08;Ⅱ&#xff09;AI 英文问答程序 &#xff08; Ⅲ &#xff09; 胎压检测 &#xff08;二&#xff09;题目 Ⅰ 彩票的号码有 6 位数字&#xff0c;若一张彩票的前 3 位上的数之和等于后 3 …

连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发

作者&#xff1a;Steam & Hao 本文整理自社区第 7 期会议中 13‘21″ 到 44’11″ 的 Python ORM 的分享&#xff0c;视频见 https://www.bilibili.com/video/BV1s8411N7Cw 在做业务开发时&#xff0c;NebulaGraph Python ORM 项目作者&#xff1a;Sword Elucidator&#x…

服务经常宕机的检查步骤以及排查问题、解决方法(持续更新)

一、检查步骤&#xff1a; 1. 首先查看数据库连接池有没有爆满 show max_connections; --查看连接池的大小 select count(1) from pg_stat_activity; --查看连接池已用数--查看剩余可用数 select max_conn-now_conn as resi_conn from (select setting::int8 as max_conn,(…

反向代理配置

目录 反向代理配置&#xff1a; 使用场景&#xff1a; 1、proxy_pass 作用&#xff1a;填的要代理的源站的IP地址或者域名。 格式&#xff1a; 几种location情况下的proxy_pass&#xff1a; 最正规写法&#xff1a; 关于代理的日志记录 2、proxy_set_header 作用&am…
最新文章