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

97 阅读2分钟

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

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

那么接下来,所需要的就是一个微服务项目,小伙伴们可以自己搭建,也可以用我的。

配置步骤

配置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可迅速到达代码尾端

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

systemctl daemon-reload
systemctl restart docker

云服务器放掉2375端口

IDEA 安装插件

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

配置远程服务器地址

配置我们自己的镜像仓库

修改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打包即可

镜像生成完毕!!!

我们可以通过docker面板管理镜像 看镜像里多了一个

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

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

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

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

等等~彩蛋呢???

早上起来发现中了病毒🦠,我丢!!!

赶紧关了服务~上班~

哼~

我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿