网站优化工作,建个网站花钱做百度推广,长沙工商注册流程,张家港设计公司前言 目前项目是采用docker部署的, 由于需要新增一个微服务,最终是实现自动推送到远程的docker上,所以就顺便记录一下操作步骤 服务器层面配置
开启 docker 所在服务器远程访问 # 1、修改docker配置文件 vim /lib/systemd/system/docker.service 在ExecStart后面加上#xff…前言 目前项目是采用docker部署的, 由于需要新增一个微服务,最终是实现自动推送到远程的docker上,所以就顺便记录一下操作步骤 服务器层面配置
开启 docker 所在服务器远程访问 # 1、修改docker配置文件 vim /lib/systemd/system/docker.service 在ExecStart后面加上 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 修改后的配置如下 ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock # 2、刷新配置重启服务 systemctl daemon-reload systemctl restart docker 开放防火墙 # 开放防火墙2375端口, 2375端口是自己上面绑定的,可以根据自己需要进行调整 firewall-cmd --zonepublic --add-port2375/tcp --permanent # 更新配置信息这样就不需要重启防火墙了 firewall-cmd --reload # 查看服务器开放端口 netstat -tlun 项目层面配置
项目pom文件引入插件
添加maven-compiler-plugin插件如下
build!-- install后的jar包名称 --finalName${project.artifactId}/finalNamepluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationsource1.8/sourcetarget1.8/target/configuration/pluginplugingroupIdcom.spotify/groupIdartifactIddocker-maven-plugin/artifactIdversion1.2.2/versionconfiguration!-- 镜像名称相当于执行docker build -t 命令后面跟的镜像名称 --imageNameshr/${project.artifactId}/imageName!-- Dockerfile文件存放目录 --dockerDirectorysrc/main/docker/dockerDirectory!-- docker远程服务器地址 --dockerHosthttp://192.168.68.68:2375/dockerHost!--指定pem证书文件路径地址 --dockerCertPath${project.basedir}docker-pem/dockerCertPath!-- 指定tag版本 --!--imageTagsimageTag1.0/imageTag/imageTags--!-- build 时强制覆盖 tag配合 imageTags 使用--!--forceTagstrue/forceTags--!-- 这里是复制 jar 包到 docker 容器指定目录配置 --resourcesresourcetargetPath//targetPathdirectory${project.build.directory}/directoryinclude${project.build.finalName}.jar/include/resource/resources/configurationexecutions!-- 执行mvn install时执行 build、tag 操作--executionidbuild-image/idphaseinstall/phasegoalsgoalbuild/goal/goals/execution!-- tag 用于给镜像打标签--!--executionidtag-image/idphasepackage/phasegoalsgoaltag/goal/goalsconfigurationimage${project.artifactId}:latest/imagenewName${project.artifactId}:${project.version}/newName/configuration/execution--!-- maven执行deploy时push镜像 --!--executionidpush-image/idphasedeploy/phasegoalsgoalpush/goal/goalsconfigurationimageName${project.artifactId}:${project.version}/imageName/configuration/execution--/executions/plugin/plugins
/build比较重要的参数含义如下 dockerHost: docker所在的服务器地址 dockerDirectory: dockerFile文件路径,也就是下面所要说的 dockerCertPath: 安全证书路径,这是为了安全的, 非必须,如果需要自行查找资料 编写Dockerfile文件
文件如下,如有需要再自行进行修改
FROM frolvlad/alpine-java:jdk8-slim
MAINTAINER zxc
ADD ./lib/local_policy.jar /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/local_policy.jar
ADD ./lib/US_export_policy.jar /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/US_export_policy.jar
ADD ./target/yourproject.jar /web.jar
VOLUME /logs
EXPOSE 8805/tcp
ENTRYPOINT [sh,-c,java -Dfile.encodingUTF8 -Duser.timezoneGMT8 -jar /web.jar]
其中比较重要的参数含义如下 ADD ./target/yourproject.jar /web.jar: 就是把maven的项目添加到根目录,并改名为 web VOLUME /logs : 日志文件挂载 EXPOSE 8805/tcp 暴露的端口, 对外访问的,一般跟项目端口一样即可 执行install 就是常规的maven install指令, mvn install, 然后去docker所在服务器执行如下指令 docker images 就能看到你的项目在上面了 注:集成jenkins 如果你需要集成jenkins完成自动构建也是可以的,只不过这部分属于另外的知识了,有时间的话我也补充一下