利用dockerfile-maven-plugin插件在springboot中上传镜像到远程仓库
      这篇文章讲解在开发工具中把打包好的jar编译成docker镜像,上传到远程的docker服务器,以及根据镜像创建测试docker容器,验证springboot程序,以及Dockerfile配置
      如何生成证书以及docker服务器开启远程端口,参考这篇文章:https://www.cnblogs.com/morgan363/p/12029783.html

1、Windows下配置环境变量

增加三个系统环境变量,在环境变量->系统变量->新建

DOCKER_HOST=tcp://192.168.74.82:2376
      DOCKER_CERT_PATH=证书路径
      DOCKER_TLS_VERIFY=1

备注:
1)证书路径目录下面有三个证书文件 ca.pem、cert.pem、key.pem
2)DOCKER_HOST中的ip是docker服务器的ip

2、springboot项目使用dockerfile-maven-plugin插件

pom.xml文件

 <plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.3</version>
<!--<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>-->
<configuration>
<repository>121.42.162.203/${project.artifactId}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
<JAR_EXPOSE>8082</JAR_EXPOSE>
</buildArgs>
</configuration>
</plugin>

注:repository属性里的ip要修改成自己的docker服务器ip

springboot项目的根目录新建Dockerfile文件,复制下面的代码

FROM openjdk:8-jre
ARG JAR_EXPOSE=8082
EXPOSE $JAR_EXPOSE
ARG JAR_FILE
ADD $JAR_FILE /app.jar
ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+08", "/app.jar"]

3、执行maven命令上传镜像

mvn clean package dockerfile:build -Dmaven.test.skip=true

4、maven命令成功执行后可以在docker服务器看到镜像 docker images

5、docker run这个springboot编译的docker镜像

docker run --name countgame -d -p 8082:8082 6f0d

注:后面的6f0d是image_id,在docker images的后面可以看到

6、docker ps可以看到容器已经启动

7、查看容器启动日志,日志正常

docker logs --tail 300 -f countgame

8、用curl测试程序是否正常,可以看到有内容返回,返回的网页正常

curl http://127.0.0.1:8082/countgame/user/toGame

注:
    1.修改了系统变量需要重启开发工具才能生效,一开始提示上传镜像失败,看了错误是上传的ip还是默认的127.0.0.1,重启IDEA或者eclipse就可以了

摘自:https://blog.csdn.net/qq_21187515/article/details/90302026

IDEA推送docker镜像到私服/利用dockerfile-maven-plugin插件在springboot中上传镜像到远程的docker服务器、远程仓库的更多相关文章

  1. maven推送本地包到私服

    前置要求:配置正确的settings.xml maven 推送 本地jar 到私服的命令示例: mvn deploy:deploy-file -DgroupId=com.oracle -Dartifa ...

  2. Docker中上传镜像到docker hub中

    原文参考:https://blog.csdn.net/sk_grace/article/details/81220675 申请Docker hub账号首先在https://hub.docker.com ...

  3. win10 idea springboot上传镜像到远程docker服务器

    1. 开启2375端口,供外部访问docker vim /usr/lib/systemd/system/docker.service 修改ExecStart为下面一行内容 #ExecStart=/us ...

  4. windows环境下,spring boot服务使用docker打包成镜像并推送到云服务器私有仓库

    最近在淘宝上学习springcloud教程,其中有几节课是讲解讲本地springboot服务打包成镜像并推送到云服务器私有仓库,但是教程里面用的事Mac环境,我的是Windows环境,而且课程里面没有 ...

  5. 『现学现忘』Docker基础 — 41、将本地镜像推送到阿里云

    目录 1.准备工作 2.阿里云容器镜像仓库的使用 (1)创建命名空间 (2)创建容器镜像 (3)查看阿里云镜像仓库的信息 3.将本地Docker镜像推送到阿里云 (1)登陆阿里云 (2)给镜像生成版本 ...

  6. html5利用websocket完成的推送功能(tomcat)

    html5利用websocket完成的推送功能(tomcat) 利用websocket和java完成的消息推送功能,服务器用的是tomcat7.0.42,一些东西是自己琢磨的,也不知道恰不恰当,不恰当 ...

  7. 利用socket.io实现消息实时推送

    最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞.评论.关注等操作时,需要由服务器向用户实时地推送一条消息.最终完成的项目地址为:socket-message-push,这里 ...

  8. 苹果推送(APNs)ios push小结

    把app删除后就推送不成功了,可以看出deviceToken应该是设备+app来一起识别的,重新安装后仍然为同一个 简介 推送服务APNs(Apple Push Notification servic ...

  9. VDN For PB Web实现消息推送

    利用VesnData.Net(VDN)的互联网数据驱动功能我们实现了PB连接互联网数据库的功能.在互联网开发的过程中我们往往有些消息或者数据希望即时能够通知到各个客户端,现在比较流行的一种技术就是消息 ...

随机推荐

  1. 搭建lnmp环境,nginx的配置文件/etc/nginx/nginx.conf

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  2. jQuery 如何实现 模糊搜索

    如何实现 模糊搜索 当我们浏览网页的时候,通常能看到搜索栏,这大大的提高了我们获取数据的目的性.那如何去实现一个简单的模糊搜索 框呢,以下案例获取能给你一点思路. 以下案例,可以实现当按键按下时,自动 ...

  3. Python 零基础快速入门!

    “人生苦短,我学python”是编程届的名言.用python写小脚本的便捷性,让很多其他语言的学习者把python当作辅助语言.拥有了某一个语言的功底,再来学习另外一种语言应该是十分快速的.编程理念都 ...

  4. 求支付表中按id累积和最接近100的那条记录

    此例源自美团的一道SQL面试题 支付表结构: create table hy_payment( id number(4,0) primary key, pay number(3,0) not null ...

  5. 逆向工程,生成pojo、xml、mapper

    package com.how2java; import java.io.File; import java.io.InputStream; import java.util.ArrayList; i ...

  6. jzoj 6797. 【2014广州市选day2】hanoi

    Description 你对经典的hanoi塔问题一定已经很熟悉了.有三根柱子,n个大小不一的圆盘,要求大盘不能压在小盘上,初始时n个圆盘都在第一根柱子上,最少要多少步才能挪到最后一根柱子上? 现在我 ...

  7. JS -- DOM(文档对象模型)

    认识DOM(文档对象模型) DOM(Document Object Model):定义访问和处理HTML文档的标准方法. DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). < ...

  8. Netty之旅三:Netty服务端启动源码分析,一梭子带走!

    Netty服务端启动流程源码分析 前记 哈喽,自从上篇<Netty之旅二:口口相传的高性能Netty到底是什么?>后,迟迟两周才开启今天的Netty源码系列.源码分析的第一篇文章,下一篇我 ...

  9. [LeetCode]1249. 移除无效的括号(字符串,栈)

    题目 给你一个由 '('.')' 和小写字母组成的字符串 s. 你需要从字符串中删除最少数目的 '(' 或者 ')' (可以删除任意位置的括号),使得剩下的「括号字符串」有效. 请返回任意一个合法字符 ...

  10. js中模拟移动端长按效果

    我们都知道 js 是有onmousedown(鼠标按下事件)和onmouseup(鼠标抬起事件),刚开始我的思路是 鼠标抬起时间减去鼠标按下时间 var oDiv = document.getElem ...