微服务项目部署之从idea直接部署微服务项目到docker中(堪称保姆一样细节)

一.idea连接虚拟的docker     

  1.Docker默认是不允许远程访问的,需要在配置文件配置以下

    使用命令进入配置:vim /lib/systemd/system/docker.service

    设置配置:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \ 

如下图:

 

2.重启和验证是否成功相关命令

# 重新加载配置文件

systemctl daemon-reload

# 重启docker

service docker restart

# 查看端口是否开启

 netstat -nlpt

# 验证端口是否生效

curl http://192.168.200.132:2375/info

3.Settings>>plugins  搜索docker插件进行安装如下图:(我的idea已安装过)

4.输入docker连接信息如下图,说明连接docker成功

 

二.部署微服务项目到docker

1.找到idea右下脚的Service按钮  出现docker图标,右键鼠标,弹出Connect,点击确认,连接成功如下图:

2.Maven  pom.xml对应的打包配置如下:

自己本地maven仓库的setting.xml 需要添加如下代码:

注意:找到 <pluginGroups>标签添加<pluginGroup>com.spotify</pluginGroup>,没有 <pluginGroups>标签可直接把如下直接赋值进去

<pluginGroups>
<pluginGroup>com.spotify</pluginGroup>
  </pluginGroups>

自己的微服务工程的pom.xml打包时加入如下代码:

 

<build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

 

 

            <plugin>

                <groupId>com.spotify</groupId>

                <artifactId>docker-maven-plugin</artifactId>

                <version>1.0.0</version>

                <configuration>

                    <!--镜像名称 yang/test-docker-demo-->

                    <imageName>yang/${project.artifactId}</imageName>

                    <!--标签版本-->

                    <imageTags>

                        <imageTag>latest</imageTag>

                    </imageTags>

                    <!--基础镜像,相当于Dockerfile里的from-->

                    <baseImage>java</baseImage>

                    <!--作者信息-->

                    <maintainer>yang@yang.com</maintainer>

                    <!--入口点,project.build.finalName就是project标签下的build标签下的filename标签内容,test-docker-demo-->

                    <!--相当于启动容器后,会自动执行java -jar/test-docker-demo.jar-->

                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>

                    <!--docker地址-->

                    <dockerHost>http://192.168.200.132:2375</dockerHost>

 

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->

                    <resources>

                        <resource>

                            <targetPath>/</targetPath>

                            <!--复制的根目录,target-->

                            <directory>${project.build.directory}</directory>

                            <!--把哪个文件上传到docker,相当于Dockerfile里的add test-docker-demo.jar /-->

                            <include>${project.build.finalName}.jar</include>

                        </resource>

                    </resources>

                </configuration>

            </plugin>

        </plugins>

    </build>

 

3.在自己需要打包的的微服务终端下输入如下命令:

mvn clean package docker:build

打包成功后如下图:

(注意:打包时终端输入命令时一定要在所打包工程的目录下)

 

再次看idea连接的docker下,发现打包的微服务已成镜像如下图:

4.鼠标右键镜像创建容器,填写容器名和容器映射

再次查看容器列表,发现已生成一个eureka容器如下图:

三.浏览器输入地址访问测试idea中eureka微服务部署到docker中是否可以访问如下图:

(注意:写在最后每个人环境可能不一样,遇到报错不要慌,根据错误信息去排查,去百度就解决了,实在解决不了可以给博主留言)

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值