〖Docker指南⑨〗本地一键部署微服务项目到阿里云服务器

简介: 想必大家都经历过手动上传文件到服务器上,然后手动解压等等一系列累人又无脑的操作,所以本次将在IDEA上整合docker,实现一键部署微服务项目,让你远离烦恼。如果大家看了我前面的〖Docker指南〗系列,服务器里一定安装了docker,并且对docker的相关知识以及操作都了如指掌了。那么接下来,所需要的就是一个微服务项目,小伙伴们可以自己搭建,也可以用我的,我已经把这个微服务demo上传到 Gitee【https://gitee.com/issavior/ossa】,大家可以自取。

想必大家都经历过手动上传文件到服务器上,然后手动解压等等一系列累人又无脑的操作,所以本次将在IDEA上整合docker,实现一键部署微服务项目,让你远离烦恼。


如果大家看了我前面的〖Docker指南〗系列,服务器里一定安装了docker,并且对docker的相关知识以及操作都了如指掌了。


那么接下来,所需要的就是一个微服务项目,小伙伴们可以自己搭建,也可以用我的,我已经把这个微服务demo上传到 Gitee【https://gitee.com/issavior/ossa】,大家可以自取。


配置步骤


配置docker端口映射


 vim /usr/lib/systemd/system/docker.service

开启远程API访问端口


找到 ExecStart


在最后面添加 -H tcp://0.0.0.0:2375

# IDEA and docker config!!!
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375


yy可快速copy,p可快速粘贴,A可迅速到达代码尾端

1.png


重新加载配置文件和重启docker


systemctl daemon-reload
systemctl restart docker

云服务器放掉2375端口

2.png


IDEA 安装插件


高的版本有docker,低的版本就在插件库里下载

3.png


配置远程服务器地址


4.png


配置我们自己的镜像仓库


6.png


修改pom文件


添加properties,设置docker镜像的前缀


<properties>
   <docker.image.prefix>ossa</docker.image.prefix>
</properties>

添加插件:


<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.0.0</version>
    <configuration>
        <!--镜像名称-->
        <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
        <!--指定标签-->
        <imageTags>
            <imageTag>latest</imageTag>
        </imageTags>
        <!--基础镜像jdk1.8-->
        <baseImage>java</baseImage>
        <!--制作者提供本人信息-->
        <maintainer>company.com</maintainer>
        <!--切换到/ROOT目录-->
        <workdir>/ROOT</workdir>
        <cmd>["java","-version"]</cmd>
        <entryPoint>["java","-jar","${project.build.finalName}.jar"]</entryPoint>
        <!--指定Dockerfile路径<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>-->
        <!--指定远程docker api地址此处未加CA加密认证。-->
        <dockerHost>http://ip:2375</dockerHost>
        <!--这里是复制jar包到docker容器指定目录配置-->
        <resources>
            <resource>
                <targetPath>/ROOT</targetPath>
                <!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
                <directory>${project.build.directory}
                </directory>
                <!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。-->
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
    <!--当执行mvnpackage时,执行:mvncleanpackagedocker:build-->
    <executions>
        <execution>
            <id>build-image</id>
            <phase>package</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
</plugin>


打包项目


使用maven打包即可

7.png


镜像生成完毕!!!


8.png


我们可以通过docker面板管理镜像


9.png


看镜像里多了一个


10.png


右键使用镜像创建容器,设置容器名称,端口映射,目录挂载等


11.png


run之后就可以启动通过该镜像创建的容器


12.png


我们这里用的是docker原生的插件,当然可以用阿里的插件【Alibaba Cloud Toolkit】,也挺好用的。


好了,为了帮助大家更好的理解docker,写了这篇文章,结束了!好玩吧~


相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
12月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4550 4
|
12月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
367 17
|
12月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
535 5
|
12月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2418 5
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
3096 8
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
8902 8
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1481 4
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
1026 6