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

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
注册配置 MSE Nacos/ZooKeeper,182元/月
云原生网关 MSE Higress,422元/月
简介: 想必大家都经历过手动上传文件到服务器上,然后手动解压等等一系列累人又无脑的操作,所以本次将在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
相关文章
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
443 5
|
2月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
160 17
|
3月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
422 13
|
3月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1629 9
|
3月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
240 0
监控 安全 Linux
129 0
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
350 5

热门文章

最新文章