前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker安装以及springboot项目打包运行

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

原创
作者头像
haohulala
发布2023-04-02 15:09:57
8820
发布2023-04-02 15:09:57
举报
文章被收录于专栏:web应用编程web应用编程

我们都知道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配置如下

代码语言:javascript
复制
<?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文件,文件名就叫这个,没有后缀

代码语言:javascript
复制
# 基础镜像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打包

打包的命令是

代码语言:javascript
复制
docker build -t springboot-demo .

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker安装
  • springboot项目打包运行
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档