Docker一键部署SpringBoot项目的多种方式

 更新时间:2024年12月04日 09:43:35   作者:码农小丘  
这篇文章主要介绍了Docker一键部署SpringBoot项目的多种方式,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

前言:

下面将介绍两种方式进行部署项目,前提需要先按照docker,然后进入配置文件修改。

修改docker配置 
vim /usr/lib/systemd/system/docker.service
 
添加这一行
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock
 
//重新加载 systemd 系统和服务管理器的配置
systemctl daemon-reload    
 
//重启docker
systemctl restart docker.service 

一:方式一

1.docker插件

pom.xml文件引入docker插件

<!-- Docker maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
 
                <configuration>
 
                    <!-- 镜像名称 -->
                    <imageName>${project.artifactId}</imageName>
 
                    <!-- 远程机器外网ip,docker开启2375端口 -->
                    <dockerHost>http://192.168.160.128:2375</dockerHost>
 
                    <!-- Dockerfile位置 -->
                    <dockerDirectory>${project.basedir}</dockerDirectory>
 
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
 
                </configuration>
            </plugin>
<!-- Docker maven plugin -->

2.Dockerfile文件

#基础镜像
FROM anapsix/alpine-java:8_server-jre_unlimited
 
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
ENV SERVER_PORT=8001
ENV MYPATH /usr/local
 
WORKDIR $MYPATH
 
ADD ./target/docker-demo.jar ./app.jar
 
ENTRYPOINT ["java", \
            "-Djava.security.egd=file:/dev/./urandom", \
            "-Dserver.port=${SERVER_PORT}", \
            "-jar", "app.jar"]

3.执行docker:build:

构建镜像:

构建成功:

查看镜像 (服务器)

4.构建容器并访问测试 

构建容器

docker run -d --name docker-demo  -p 8001:8001  docker-demo:v0.0.2
 
#解释
-d     :后台运行
--name :容器名称
-p     :端口绑定(虚拟器与容器中端口)
docker-demo:v0.0.2 :镜像名称(或者镜像id)

启动完成

controller代码

@RestController
public class TestController {
 
    @GetMapping("/test")
    public String test() {
        return "docker 部署 spring boot 项目测试";
    }
}

访问地址

http://192.168.160.128:8001/test

二:方式二

1.利用IDEA docker插件

2.配置

第一步

第二步

配置docker服务:

tcp://192.168.160.128:2375

成功标识: 

配置文件 :

指定当前项目dockerfile文件

配置镜像,容器,端口

3.启动

这一步操作构建镜像,创建容器,启动容器,都已经帮我们执行了,一波流带走。

4.测试 

访问地址

http://192.168.160.128:8001/test

三:查看docker详情

idea这里非常方便,可以看到镜像,容器,以及可以对镜像,容器进行删除重启关闭操作。还能看到容器的详情,应用日志等等信息。

小结:

本人推荐使用第二种方式,非常的丝滑就一波流构建镜像,创建容器,启动容器操作;后期只需要改一下镜像版本号,点击一下完事。

以上就是Docker一键部署SpringBoot项目的多种方式的详细内容,更多关于Docker部署SpringBoot项目的资料请关注脚本之家其它相关文章!

相关文章

  • Docker容器化应用与结构

    Docker容器化应用与结构

    本文详细讲解了Docker的容器化应用与结构,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 替换docker容器中的一个文件的实现

    替换docker容器中的一个文件的实现

    在某些情况下,我们可能确实需要更新容器内的文件,本文主要介绍了替换docker容器中的一个文件的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • Docker配置SSL证书实现远程访问

    Docker配置SSL证书实现远程访问

    本文主要介绍了使用OpenSSL生成CA证书和服务器证书并配置Docker以支持SSL连接实现远程访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Jenkins整合Docker实现CICD自动化部署的详细过程(若依项目)

    Jenkins整合Docker实现CICD自动化部署的详细过程(若依项目)

    本文介绍了如何使用Jenkins和Docker实现CI/CD自动化部署,文章介绍了环境准备,包括Jenkins、Docker、JDK、Node和Maven,然后讨论了如何配置GitLab环境并利用Webhooks实现代码的自动拉取和部署,最后,展示了如何部署前后端分离的项目,并通过实际操作验证了整个流程的有效性
    2024-10-10
  • 详解docker进行数据挂载的三种模式

    详解docker进行数据挂载的三种模式

    Docker 提供了三种方式将数据从宿主机挂载到 Docker容器中: volumes、bind mounts、tmpfs ,这篇文章主要介绍了docker进行数据挂载的三种模式,需要的朋友可以参考下
    2022-05-05
  • Docker之开启远程访问的实现

    Docker之开启远程访问的实现

    这篇文章主要介绍了Docker之开启远程访问的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 低版本Docker升级高版本Docker的详细教程及成功避坑

    低版本Docker升级高版本Docker的详细教程及成功避坑

    如果我们使用docker来管理容器,那么保持docker引擎的更新将会是十分重要的,下面这篇文章主要给大家介绍了关于低版本Docker升级高版本Docker的详细教程及成功避坑,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 详解如何使用Docker-Compose命令

    详解如何使用Docker-Compose命令

    这篇文章主要介绍了详解如何使用Docker-Compose命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker搭建Gazee的实现示例

    Docker搭建Gazee的实现示例

    Gazee 是一个 Web 应用,专门用于阅读和管理数字漫画,本文主要介绍了Docker搭建Gazee的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Docker Desktop搭建RocketMQ的图文步骤

    Docker Desktop搭建RocketMQ的图文步骤

    RocketMQ支持发布/订阅模式和点对点模式,可以根据业务需求选择合适的消息模式,本文主要介绍了Docker Desktop搭建RocketMQ的图文步骤,感兴趣的可以了解一下
    2024-02-02

最新评论