非常贴心的轮子 FreeSql

  在使用idea开发时,直接docker-maven-plugin插件,把项目编译成docker镜像,然后通过docker:push推送到linux服务器,非常简单,快捷,也避免了手动打包,然后拷贝war包到tomcat的麻烦了。以下是流程:

  1、先配置docker-maven-plugin插件

  在pom文件中加入docker-maven-plugin插件相关配置

  绑定docker命令到maven各阶段

  这里需要服务器开启2375端口,后面详细描述

  具体代码:

  

  hub.*****.com

  ****

  

  com.spotify

  docker-maven-plugin

  0.4.14

  

  my-hub

  http://${docker.repostory}

  

  ${docker.repostory}/${docker.registry.name}/${project.artifactId}:${project.version}

  

  ${project.version}

  latest

  

  http://192.168.*.*:2375

  daocloud.io/library/java:openjdk-8u40

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

  

  8080

  

  

  

  /

  ${project.build.directory}

  ${project.build.finalName}.jar

  

  

  

  

  

  

  2、配置docker-wagon-plugin插件(非本次方式必须,可以安装,是另外一种部署方式,直接通过wagon命令,直接把jar包推到服务器,然后替换)

  具体代码:

  

  /work/${project.artifactId}

  ${project.artifactId}.jar

  192.168.*.*:*

  root

  ****

  

  

  org.apache.maven.wagon

  wagon-ssh

  2.8

  

  

  

  org.codehaus.mojo

  wagon-maven-plugin

  1.0

  

  target/${pack-name}

  

  

  

  kill -9 `ps www.mhylpt.com-ef |grep ${project.artifactId}.jar|grep www.mren2yule.com-v "grep" |awk '{print $2}'`

  

   ${service-path}/renren.log 2>&1 & ]]>www.tiaotiaoylzc.com

  www.ysptvip1.com

  

  

  

  true

  

  

  3、完了后,可以在maven-project看到docker插件和wagon插件

  4、需要在上面配置的Linux服务器,通过docker开启2375端口,提供外部访问docker

  编辑docker文件:/usr/lib/systemd/system/docker.service

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

  修改ExecStart行为下面内容

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

  重新加载docker配置

  systemctl daemon-reload // 1,加载docker守护线程

  systemctl restart docker // 2,重启docker

  5、关闭防火墙

  ss -luntp

  systemctl status firewalld

  systemctl  stop firewalld

  systemctl  disable  firewalld

  如果开放成功,访问2375端口,会看到如下效果:

  6、安全认证配置

  当我们 push 镜像到 Docker 仓库中时,不管是共有还是私有,经常会需要安全认证,登录完成之后才可以进行操作。当然,我们可以通过命令行

  docker login -u user_name -p password docker_registry_host

  登录,但是对于自动化流程来说,就不是很方便了。使用 docker-maven-plugin 插件我们可以很容易实现安全认证。

  首先在 Maven 的配置文件 setting.xml 中增加相关 server 配置,主要配置 Docker registry用户认证信息。

  路径:

  

  

  my-hub

  **

  ***

  

  ***@163.com

  

  

  7、测试、验证

  先配置镜像images版本c-0311

  执行完第一步,控制台看到日志,正在构建、打包jar

  接下来,执行第二步,镜像生成完成,且推到了内网了

  接下来,去内网看下c-0311版本的镜像已存在,则测试成功了!

  8、相关报错,以及解决办法:

  docker pull 的时候报错 Get https://www.yongxin7.com hub.xxx.com/v1/_ping: dial tcp 192.168.1.8:443: getsockopt: connection refused

  内网搭建自己的docker 仓库时遇到这个问题,原因是docker 默认不支持http的registry ,

  vim /etc/docker/daemon.json  添加 { "insecure-registries":["hub.***.com"] }

  hub.***.com    这是私有docker仓库域名,与前面配置匹配

  重启 docker

  systemctl restart docker.service

你可能感兴趣的:(非常贴心的轮子 FreeSql)