idea打包docker发布到服务器

一、 docker开启远程连接访问

首先我们要开启docker的远程连接访问。保证不是docker所在的服务器,也能够远程访问docker。

Linux版的docker:

1.修改docker.service文件,添加监听端口 -H tcp://0.0.0.0:2375

vi /usr/lib/systemd/system/docker.service

找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示

2.重启docker

systemctl daemon-reload
systemctl start docker

3.如果我们有防火前记得添加防火墙策略或者关闭防火墙

4.查看docker状态

service docker status

 5.本地测试是否能连接到docker info

curl http://localhost:2375/info

查看线程 ps -ef  | grep dockerd 

二、 idea配置以及项目配置

 注意: 只要下面提示Connection successfl 就表示连接成功了;

 配置pom文件添加插件:

   <!--使用docker-maven-plugin插件-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.0</version>
                <!--将插件绑定在某个phase执行-->
                <executions>
                    <execution>
                        <id>build-image</id>
                        <!--用户只需执行mvn package ,就会自动执行mvn docker:build-->
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--指定生成的镜像名-->
                    <imageName>${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!-- 指定 Dockerfile 路径-->
                    <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
                    <!--指定远程 docker api地址-->
                    <dockerHost>http://101.34.73.154:2375/</dockerHost>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <!--jar 包所在的路径  此处配置的 即对应 target 目录-->
                            <directory>${project.build.directory}</directory>
                            <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

 附上项目目录

编写Dockerfile

# Dockerfile
# 基于的镜像
FROM openjdk:8-jdk-alpine

VOLUME /tmp

ADD *.jar app.jar

# -Djava.security.egd=file:/dev/./urandom 可解决tomcat可能启动慢的问题
# 具体可查看:https://www.cnblogs.com/mightyvincent/p/7685310.html
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

# 对外端口
EXPOSE 8081

微服务抽取过公共模块的需要在总项目那运行package

 最后打包完成会有信息出现,显示成功

注意Dockerfile文件存放的位置要和pom.xml指定的相同,要不然会出现找不着的情况

在docker里去查看生成的image文件 

 右键镜像 创建容器

点击确认即可运行

写到最后服务器上暴露2375端口很容易被黑,我尝试了3台服务器都被黑了,然后内存莫名其秒的高,cpu也很高,一直在像外传输数据,只能重装系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Y_Hungry

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

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

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

打赏作者

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

抵扣说明:

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

余额充值