〖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
相关文章
|
8月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
965 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
10月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
1256 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
11月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
666 12
|
10月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
782 5
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
1753 68
|
9月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
10月前
|
存储 监控 Shell
SkyWalking微服务监控部署与优化全攻略
综上所述,虽然SkyWalking的初始部署流程相对复杂,但通过一步步的准备和配置,可以充分发挥其作为可观测平台的强大功能,实现对微服务架构的高效监控和治理。尽管未亲临,心已向往。将一件事做到极致,便是天分的展现。
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
546 28
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
854 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
447 1