• idea maven构建.jar包镜像 发布到远程Linux docker 镜像


    第一步配置docker 可以访问权限 2023.3.28
    最近在用IDEA,在连接docker的时候发现一直提示:no further information。按照网上的操作方式来做,发现问题一直存在。
    重启docker发现没有什么用。
    最后想了想可能是docker的版本问题。现在国内很多的信息都相对来说比较晚。
    docker --version 后,发现版本是1.13.1。根据指定版本百度了下(没办法,翻墙失败!阿里云VPN被封了)。
    docker.service文件1.13.1版本是个分水岭,在1.13.1之前的版本使用的方式
    编辑docker 文件
    vi /usr/lib/systemd/system/docker.service
    在 ExecStart 行最后面加入:
    -H tcp://0.0.0.0:2375
    重启服务就OK了。
    1.13.1以后的的版本:
    编辑docker 文件
    vi /usr/lib/systemd/system/docker.service
    在ExecStart行的最后加上
    -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
    保存,然后重启docker服务就OK了。
    重新载入服务信息systemctl daemon-reload
    重启docker服务systemctl restart docker.service
    查看端口是否开启netstat -nlpt

    
    ```c
    [root@ECS40833040 ~]# netstat -lnpt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name        
    tcp6       0      0 :::2375                 :::*                    LISTEN      25299/dockerd       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    访问测试 curl http://yourip:2375/version
    下图是打包前文件目录
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/c08bde1c8e32454b92683aa9eedf0599.png
    Dockerfile文件 内容

    From openjdk:19
    #From raoqingbicurlng/jdk20andmaven:v2
    
    #RUN mvn clean package  -Dmaven.test.skip=true
    
    EXPOSE 6666
    COPY *.jar /app/web.jar
    #随意输出一句
    CMD ["echo","success---build"]
    #容器启动时执行什么命令
    ENTRYPOINT ["java","-jar","/app/web.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    <plugin><!--制作docker镜像的maven插件-->
    		<groupId>com.spotify</groupId>
    		<artifactId>docker-maven-plugin</artifactId>
    		<version>1.2.2</version>
    		<executions>
    			<execution>
    				<id>build-image</id>
    				<phase>package</phase>
    				<goals>
    					<goal>build</goal>
    				</goals>
    			</execution>
    		</executions>
    		<configuration>
    			<imageName>${project.artifactId}</imageName><!--镜像名,注意:这里的镜像名一定要小写,如果你的应用名字是大写会报错的-->
    			<imageTags>
    				<imageTag>latest</imageTag>
    			</imageTags>
    			<dockerDirectory>${project.basedir}/docker</dockerDirectory><!--Dockerfile所在的目录,有的人直接${project.basedir}  会浏览.idea文件  出错,打包不成功-->
    			<dockerHost>http://107.151.195.216:2375</dockerHost><!--docker所在的宿主机地址,或者填写http://yourip:2375-->
    			<resources>
    				<resource><!--这里配置的就是打包后jar所在的位置-->
    					<targetPath>/</targetPath>
    					<directory>${project.build.directory}</directory><!--构建的class文件路径 一般是target-->
    					<include>${project.build.finalName}.jar</include>
    				</resource>
    			</resources>
    		</configuration>
    	</plugin>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    下图是maven打包jar
    在这里插入图片描述
    下图是打包后生成的 文件
    在这里插入图片描述

    进入107.151.195.216
    [root@ECS40833040 ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    005-springboot-mvc latest 7c9b980f1f60 6 minutes ago 496MB

    在这里插入图片描述
    太慢了 急死人

    完~

  • 相关阅读:
    Python中字典的使用方法
    透视投影函数的图像
    grpc、https、oauth2等认证专栏实战8:https单向认证 介绍
    相同执行计划,为何有执行快慢的差别
    LSTM -长短期记忆网络(RNN循环神经网络)
    CAS详解
    撰写外文时怎样引用中文文献?
    mysql数据库中的插入数据insert,中文字符集配置
    【考研数学】一. 极限与导数
    力扣题目训练(17)
  • 原文地址:https://blog.csdn.net/qq_25261441/article/details/128180301