当前位置: 首页 > news >正文

做国外的营销的网站儿童编程哪家培训机构好

做国外的营销的网站,儿童编程哪家培训机构好,怎样做淘宝网站建设,宁波建站模板为什么要用插件 主要还是自动化的考虑#xff0c;如果额外使用Dockerfile进行镜像生成#xff0c;可能会需要自己手动指定jar/war位置#xff0c;并且打包和生成镜像间不同步#xff0c;带来很多琐碎的工作。 插件选择 使用比较多的是spotify的插件:https://github.com/spo…为什么要用插件 主要还是自动化的考虑如果额外使用Dockerfile进行镜像生成可能会需要自己手动指定jar/war位置并且打包和生成镜像间不同步带来很多琐碎的工作。 插件选择 使用比较多的是spotify的插件:https://github.com/spotify/docker-maven-plugin 和 https://github.com/spotify/dockerfile-maven。 但这里我选择另一款插件https://github.com/fabric8io/docker-maven-plugin。 因为他文档比较详细在使用上也比较方便。 文档地址https://dmp.fabric8.io/ 示例 这里使用一个spring boot项目只有一个最简单的HelloController如下 RestController public class HelloController {GetMapping(/)public String hello() {return hello;} } pom.xml改动如下: plugingroupIdio.fabric8/groupIdartifactIddocker-maven-plugin/artifactIdversion0.23.0/versionconfigurationdockerHosttcp://192.168.99.100:2376/dockerHostcertPathC:\Users\fairjm\.docker\machine\machines\default/certPathimagesimagename${project.name}:${project.version}/namebuildfromopenjdk:8-jre/fromargsJAR_FILE${project.name}-${project.version}.jar/JAR_FILE/argsassemblydescriptorRefartifact/descriptorRef/assemblyentryPoint[java]/entryPointcmd[-jar,maven/${project.name}-${project.version}.jar]/cmd/buildrunportsport8888:8080/port/ports/run/image/images/configuration /plugin 这里使用了在xml里写操作而不是使用Dockerfile的方式个人感觉这种方式更加简单一点不需要额外再维护一份文件和Dockerfile相比使用的语法(注意entrypoint和cmd)也类似。 接下来介绍一下configuration配置。dockerHost和certPath是连接docker使用毕竟插件本身不包含docker和对应功能只是调用docker提供的API。 这两个值在docker toolbox上可以通过docker-machine env获得。 $ docker-machine env export DOCKER_TLS_VERIFY1 export DOCKER_HOSTtcp://192.168.99.100:2376 export DOCKER_CERT_PATHC:\Users\fairjm\.docker\machine\machines\default export DOCKER_MACHINE_NAMEdefault export COMPOSE_CONVERT_WINDOWS_PATHStrue # Run this command to configure your shell: # eval $(D:\Docker Toolbox\docker-machine.exe env) image的build指定了构建相关的设置 name指定image名这里使用了项目名tag使用项目版本from指定基于的image和Dockerfile的FROM一致args和ARG一致在这个例子中没有实际意义assembly用来定义哪些文件进入镜像中使用了插件已经定义好的行为spring-boot生成的是fat jar不需要拷贝依赖所以选择了artifact。这个的配置比较丰富可以查看文档获取更多的信息。entryPoint和cmd也对应同样的Dockerfile命令。接着通过mvn clean package docker:build执行打包和build [INFO] --- maven-jar-plugin:2.6:jar (default-jar) docker-test --- [INFO] Building jar: D:\sts_workspace\docker-test\target\docker-test-0.0.1-SNAPSHOT.jar [INFO] [INFO] --- spring-boot-maven-plugin:1.5.9.RELEASE:repackage (default) docker-test --- [INFO] [INFO] --- docker-maven-plugin:0.23.0:build (default-cli) docker-test --- [INFO] Copying files to D:\sts_workspace\docker-test\target\docker\docker-test\0.0.1-SNAPSHOT\build\maven [INFO] Building tar: D:\sts_workspace\docker-test\target\docker\docker-test\0.0.1-SNAPSHOT\tmp\docker-build.tar [INFO] DOCKER [docker-test:0.0.1-SNAPSHOT]: Created docker-build.tar in 1 second [INFO] DOCKER [docker-test:0.0.1-SNAPSHOT]: Built image sha256:303c3 [INFO] DOCKER [docker-test:0.0.1-SNAPSHOT]: Removed old image sha256:ea8a7 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ 完成打包在对应连接的docker上也会出现这个镜像 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE docker-test 0.0.1-SNAPSHOT 303c39c7d253 13 seconds ago 552MB run指定了运行参数 这里将host的8888和容器的8080绑定可以使用mvn docker:start启动访问8888端口即可连接到服务器。 与其配对的是mvn docker:stop可以停止并移除启动的容器。 示例2 上述使用xml的配置方式这里再简单描述一下使用Dockerfile的配置方式。 在进行一些操作的时候可以发现使用xml会有些问题比如指令的执行顺序。 该插件xml的执行顺序和命令的定义顺序不一定一致可能会带来一些问题比如将user放于runCmds前但还是runCmds先触发一些需要root权限的命令就会失败。 比如这个issus(但不确定是feature还是bug感觉是feature)https://github.com/fabric8io/docker-maven-plugin/issues/913 这时候就需要直接使用Dockerfile来进行配置。 这里取一个实际的打成war的工程。 插件配置如下 imagesimagename${project.name}:${project.version}/namebuildassemblydescriptorRefrootWar/descriptorRef/assemblydockerFileDockerfile/dockerFile/buildrunportsport8888:8080/port/ports/run/image /images 这里更改了descriptorRef换成rootWar这会将target下的项目war拷贝到maven\下并且取名为ROOT.war。Dockerfile默认放置的位置是src/main/docker我们在这里建对应的文件 FROM jetty USER root ENV JAVA_OPTIONS-Xmx1g RUN mkdir -p /root/xxx touch /root/xxx/yyy echo zz /root/xxx/yyy COPY maven/ /var/lib/jetty/webapps 基本和上面的配置类似base image改为了jetty查看jetty的Dockerfile可以发现他使用了一个新用户jetty使用这个用户无法在root下建立目录并且由于项目本身之前使用sudo执行的所以为了能正常运行选择使用root用户。 最后一步将ROOT.war拷贝到jetty的webapps目录下。 关于maven/这个目录在打包后会在target下生成target\docker\项目名\0.0.1-SNAPSHOT\build对应的Dockerfile和maven\就在这个目录下实际执行的不是src/main/docker/Dockerfile而是拷贝到上述目录下的Dockerfile此外使用xml的方式也是在这个位置生成了一份DockerfileUSER 总是被放置于最后...。 更多 本文简要说明了使用fabric8的docker maven插件进行构建运行相关的操作该插件还有其他的功能可以通过上面的文档获取帮助。 源码下载(示例1) https://github.com/fairjm/spring-boot-docker 转载于:https://www.cnblogs.com/fairjm/p/docker_maven_springboot.html
http://www.huolong8.cn/news/306108/

相关文章:

  • 宁晋网站建设设计做网站怎么云存储
  • 办公类网站开发背景wordpress不能发布文章
  • 网站的访问速度和什么有关系扁平化设计的网站
  • 网站可信度验证网站建设需要注意事项
  • vs html5网站开发汕头网站优化哪家好
  • 武义住房和城乡建设局网站人和马做的网站
  • 玉田住房与城乡建设局网站蓝色手机网站模板
  • 江门网站程序开发制作做网站必须有框架么
  • 校园网站建设的作用网站开发模块学些什么软件
  • 深圳做微商网站公司html5的篮球网站开发
  • 保定企业建站系统模板vivo手机为什么建设网站
  • h5建站是什么网站开发范本
  • 用flash做的ppt模板下载网站自己做百度网站
  • 嘉兴网站设计公司网站邮箱后台子域名
  • 茂名网站建设推广蒙阴网站优化
  • 哪个网站代做装修效果图沈阳城市建设学院官网网站
  • 做网站数据分析架构仓库管理系统源码
  • 网站下面 备案做定制型网站
  • 网站后台更新 前台看不到中国空间站航天员首次出舱
  • 长春网站制作推广多点网络网站制作系统
  • 医院做网站的风格成都企业seo
  • 怎么做qq分享网站创建公司的基本流程
  • 门户网站建设专业wordpress阅读量怎么查看
  • 网站如何进行建设微信公众号 wordpress
  • 网站上传安装wordpress调用外部数据库
  • 网站虚拟主机租用深圳品牌网站制作公司哪家好
  • 设备外贸用哪个网站宣城公司做网站
  • 网站建设小程序开发报价高端网站建设seo
  • 帝国cms做搜索网站漳州正规网站建设价格
  • 加强机构编制网站建设力度南京安居建设公司