公司建网站多少,网站设计首页框架图片,网站正在建设中 html源码,济南网站建设-中国互联文章目录 1、新建SpringBootDemo项目并打包2、使用Dockerfile打包#xff08;基础用法#xff09;进一步maven源码打包法 3、更进一步#xff08;maven插件打包#xff09;docker-maven-pluginspring-boot-maven-plugin前提条件本地环境配置项目环境配置maven插件打包运行校… 文章目录 1、新建SpringBootDemo项目并打包2、使用Dockerfile打包基础用法进一步maven源码打包法 3、更进一步maven插件打包docker-maven-pluginspring-boot-maven-plugin前提条件本地环境配置项目环境配置maven插件打包运行校验镜像仓库结果 4、总结 1、新建SpringBootDemo项目并打包
一般情况下我们通过执行:
maven clean
maven compile
maven package项目在本地会产生target目录下生成了一个项目jar包。 拿一个很简单的demo作为例子 页面
2、使用Dockerfile打包基础用法
在与target同级也就是项目根目录下新建一个文件file命名为 Dockerfile 以下基本参数
FROM openjdk:8
# 指定可以被宿主机文件挂载目录
VOLUME /opt/demo/
# 指定路径
WORKDIR /opt/demo/
# 添加 springboot-web-demo-0.0.1-SNAPSHOT.jar 包到workdir 以 web.jar保存
ADD [springboot-web-demo-0.0.1-SNAPSHOT.jar, web.jar]
EXPOSE 8090
ENTRYPOINT [java, -jar, /web.jar]然后使用远程工具我用的Xftp7将jar包和Dockerfile文件拖到Linux服务器新建的目录下 命令行进入该目录下执行镜像制作
docker build -t web:test . # 镜像名tag 当下目录查看镜像
docker images然后启动运行
docker run -d -p 8090:8090 --name test web映射端口到外界 容器命名为test镜像为生成的web 浏览器访问 失败。 我项目端口是8080暴露8090不对应 这里注意端口的映射问题
项目application.yml 中端口 要和 EXPOSE 端口保持一致启动容器时 -p 宿主机端口 容器端口宿主机端口可以任意指定容器端口即EXPOSE的端口。
否则容器可以正常启动但是端口未暴露访问时仍然访问项目自己的端口在linux下外界访问不到
重新修改dockerfile并打包镜像运行后
curl ip:port浏览器访问
总结 1、本地maven 打包 创建Dockerfile文件 2、上传到服务器下Docker环境 3、制作镜像 4、运行 可以看出貌似并没有为我们的项目部署带来什么便利仅仅这样无法体现docker的优势。
进一步maven源码打包法
在Linux docker环境下可以安装好git、maven利用 ① git拉取仓库代码 ② mvn打包命令就可以去掉步骤一、二 ③ 制作镜像 ④ run运行容器
但是仍然不够简单。 如果环境中没有安装maven请手动安装脚本如下
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo
# yum-config-manager --enable epel-apache-maven
// 安装maven
# yum install -y apache-maven1、上传原码到docker环境中一般是git/svn直接拉取源码
2、maven打包 mvn clean package
生成的jar在同级target目录下
3、执行docker命令生成镜像 dockerfile文件内容
命令创建镜像
3、更进一步maven插件打包
即适用于生产环境下IDEA代码开发完毕利用docker-maven插件直接一行命令编译打包生成镜像并推送到Docker主机环境下。 之后只需要Docker下运行 run命令即可运行项目。
docker-maven-plugin
里面集成了Docker客户端通过docker的api接口发送docker命令。
spring-boot-maven-plugin
这个是Spring Boot官方的插件在2.x的某个版本2.3.x提供了Docker镜像构建能力。 下面演示一个maven插件docker-maven-plugin用法来实现。
前提条件
1、需要我们windows上安装docker服务 2、需要docker服务配置http仓库接口windows上docker服务配置如下传统配置模式无权限修改文件
本地环境配置
1、windows上安装docker-toolbox傻瓜安装即可。 2、打开Docker Quickstart Terminal终端等待初始始化完成后。 3、输入docker-machine env命令返回docker服务的api接口和证书位置如下 4、输入docker-machine ssh命令进入sh环境中配置http仓库路径 修改文件配置当前用户是docker不是root要sudo提升至root sudo vi /var/lib/boot2docker/profile 5、修改完成保存。重启docker服务 sudo /etc/init.d/docker restart 项目环境配置maven插件
在我们的工程pom中加入docker-maven-plugin插件的配置如下 1、其中imageName配置镜像的全路径名即指定私库的名称 2、dockerHost和dockerCertPath对应配置上一步中docker的api和证书值
打包运行
以idea为例整个项目装配完成只需要操作maven的一二三步骤即直接镜像进入仓库整个过程极为便利。
还可以省去多次点击直接一句mvn命令完成打包上传
mvn clean package docker:build -DpushImage校验镜像仓库结果 至此我们的服务器环境已经可以直接运行docker run 镜像启动容器了。
4、总结
写完这篇逛着逛着发现已经有博主文章将这几种方式都总结过了我这里放上链接感兴趣的去看一下 使用docker部署项目到linux超详细 另外还可参考如下文章随意可看可不看 1、使用docker-maven-plugin插件将项目编译为docker镜像到远程linux服务器 2、idea docker插件打包上传maven项目 3、maven进行docker打包与推送