DockerMaven

1、DockerMaven插件


微服务部署有两种方法:


(1)手动部署:首先基于源码打包生成jar包(或war包) ,将jar包 (或war包)上传至虚拟机并拷贝至
JDK容器。

(2)通过Maven插件自动部署,
对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容易出错。所以我们这里学习如何自动部
署,这也是企业实际开发中经常使用的方法。


Maven插件自动部署步骤:


(1)修改宿主机的docker配置,让其可以远程访问

vi /lib/systemd/system/docker.service

其中ExecStart=后添加配置

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock


修改后如下:


(2)刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

(3)在工程pom.xml增加配置

<build>
        <finalName>demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- docker的maven插件, 官网: https://github. com/spotify/docker-maven-plugin-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <!--imaname是将要创建的镜像名称-->
                    <imageName>192.168.73.128:5000/${project.artifactId}:${project.version}
                    </imageName>
                    <baseImage>jdk1.8</baseImage>
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]
                    </entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <dockerHost>http://192.168.73.128:2375</dockerHost>
                </configuration>
            </plugin>
        </plugins>
    </build>


以上配置会自动生成Dockerfile

FROM jdk1.8
ADD app.jar /
ENTRYPOINT
["java","-jar","/app.jar"]


浏览器访问

htp://192.168.73.128:5000/v2/_catalog

输出


(5)在windows的命令提示符下,进入工程所在的目录,输入以下命令,进行打包和上传镜像

mvn clean package docker:build -DpushImage

执行后,会有如下输出,代码正在上传

出现连接超时等请检查私有仓库端口是否打开

 

(6)进入宿主机,查看镜像

docker images


输出如上内容,表示微服务已经做成镜像
(7)启动容器

docker run -di --name=base -p 8080:8080 192.168.73.128:5000/demo:0.0.1-SNAPSHOT

常见报错:

docker: Error response from daemon: driver failed programming external……

打开防火墙端口,并重启docker。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUNbrightness

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值