分享好友 最新动态首页 最新动态分类 切换频道
Docker - 部署Java Web 项目
2024-12-26 20:12

前言

同事让研究一下,如何把我们公司自己的产品,部署到Docker中。后面如果换新的服务器,也方便项目的部署,而不用在新的服务器上重新搭建相关环境。
之前简单的了解过Docker。并且之前通过docker搭建gogs,也体会到了docker的强大和方便。这次,正好借这个机会,好好阅读一下官方文档,通过实践来更加熟悉docker!将我们的产品一步一步部署到docker中。

关于Docker

Docker有两个版本

社区版(CE
企业版(EE
Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用程序的个人开发人员和小型团队。

Docker企业版(EE)专为企业开发和IT团队而设计,他们可以在生产中大规模构建,发布和运行业务关键型应用程序。

服务器环境

腾讯云服务器:Ubuntu Server 16.04.1 LTS 64位

安装Docker

传送门:Docker官网关于Ubuntu安装Docker CE – Get Docker CE for Ubuntu

这里我们安装(社区版)就好,功能够用了。

安装Docker可参考我的这篇博客 – ubuntu16.04下安装docker,其内容也来着于Docker官方文档。

相关命令

安装完成后,需要熟悉一下Docker的相关命令
1.查看docker相关信息

3.启动,停止docker

2.镜像和容器

3.启动容器
容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何才能启动容器呢

这条命令比较长,我们稍微分解一下,其实包含以下三个部分

docker run <相关参数> <镜像 ID> <初始命令>
其中,相关参数包括

-i :表示以“交互模式”运行容器
-t :表示容器启动后会进入其命令行
-v :表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
假设我们的所有安装程序都放在了宿主机的 /root/software/ 目录下,现在需要将其挂载到容器的 /mnt/software/ 目录下。

需要说明的是,不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”,例如:docker.cn/docker/centos:centos6。

初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。

两种方法部署Java web

OK,准备工作完成后,开始搭建项目运行环境。
这里有两种方法来部署,一种是通过Dockerfile文件来进行自动构建,我们只需要编写该文件就可以。
一种是进入Docker容器中,自己安装软件和相关配置,在Docker容器中的具体操作跟平时在linux服务器上一模一样。

接下来就两种方法都演示一下。

方法一:进入Docker容器,手动部署

具体操作步骤可查看该篇博客:https://blog.csdn.net/jaryle/article/details/54894182

使用这种方法,我遇到了一个问题。在配置jdk1.8和maven的环境变量时,一旦我使用 命令,让环境变量生效,就会出现:命令找不到的情况。

只要我执行了 或者 。这个时候,我再去执行查看文件命令,就会提示我找不到该命令,这个时候,后面的工作就没办法进行下去了。暂时我还没找到原因。

这里我再提一下,网上搜索ubuntu jdk环境配置,有让修改 文件的,也有让修改 文件的。
其实任何一种都是可以的。
是系统全局环境变量设定
用户家目录下的私有环境变量设定

方法二:通过编写Dockerfile,自动构建

传送门:Docker官网关于Dockerfile的文档 – Dockerfile reference

下面是我为了搭建一个java web项目运行环境,简单编写的一个Dockerfile文件:包括

完整内容如下

用到了Docker的几个指令: 、 、 、 。

你需要做以下几个步骤
1.将上述文件保存为 注意大小写,没有后缀
2.然后进入到该文件所在目录,执行构建镜像命令

命令说明:xjc/java_web:v1 镜像的名字及tag, 最后的点代表当前目录
这个时候,他会一步一步去执行Dockerfile文件里面指定的命令,包括下载文件,配置环境变量等。
等该命令执行完,一个我们想要的镜像也就构建完成了。
3.查看image

第一个便是我们刚刚构建的镜像。
4. 到了这一步,只是搭好了java的运行环境,这个时候,我们还是需要进入到该容器中,配置一下其他的:比如使用git拉取代码,项目的脚本启动等。

Docker 其他命令

最新文章
生成专属你的超真实美女写真!5大AI工具评测及使用攻略
DeepAI:这是一款免费的在线工具,用户通过输入描述生成图像。其优点在于无需安装复杂的软件,任何人都可以立即上手。不过,图像的质量和创意受到输入文本的限制,通常需要多次调整才能满足需求。Daz 3D:此款软件专为三维角色的创建而设计
让网站关键字排名靠前的方法
  1.首先要定位好自己的网站,清楚自己的网站提供什么,提供给什么样的人群的。这里讲的是关键词的选择,是排名之第一要素。选错关键词可能导致事倍功半。  2.要编排网站的内容、目录和文件结构。一个结构清楚的网站在GOOGLE里收录效果
面试题整理 4
总结整理了某公司面试中值得记录的笔试和问到的问题和答案。目录 PHP传值和传引用区别?什么情况下用传值?什么情况下用传引用? 传值 传引用 区别 选择传值还是传引用时 简述PHP的垃圾回收机制 二维数组排序 什么是CSRF
揭开淘宝外链骗局,提升网站排名34
外链建设的重要性网站外链是提高网站搜索引擎排名 (SERP) 的关键因素。通过获得来自高权威网站的链接,可以提高目标网站的信任度和相关性,从而改善其搜索引擎可见度和排名。淘宝外链骗局然而,近期出现了一些声称提供高权威淘宝外链的骗局
谴责!深世智能APP做任务被骗!余额提现不了怎么办
深世智能APP做任务被骗!余额提现不了怎么办帮助出嘿葳《8224205》希望阅读此文的读者能够及时采取措施以减少损失;请及时与团队联系提供解决方案(文章下面图片有咨询方式)若想追回损失资产,务必仔细阅读以下内容。【GFRGRHFDHS】2024年1
火狐浏览器chatgpt插件
火狐浏览器是一款备受欢迎的网络浏览器,而chatGPT插件则为用户提供了一种全新的上网体验。chatGPT插件是由OpenAI开发的一种人工智能工具,它可以模拟人类对话,与用户进行交流。在火狐浏览器上安装并使用chatGPT插件,不仅可以提供有趣的
百度快速收录权限怎么开通?满足这个条件就可以申请哦!
百度搜索资源平台有一个功能是大家梦寐以求的,它可以让你的新增资源在48小时内实现收录,非常有利于网站关键词优化排名。没错!它就是传说中的“快速收录”!不过物以稀为贵,如此高效实用的工具只能开放给部分站点使用~为了满足开发者朋
郑州百度推广优化秘籍,打造企业网站百度搜索霸主地位
郑州百度推广优化排名攻略:通过关键词研究、网站结构优化、高质量内容创作、外部链接建设等策略,提升企业网站在百度搜索中的可见度和排名。结合数据分析,精准定位目标用户,实现高效营销。随着互联网的快速发展,越来越多的企业开始重视
借呗专业协商分期
借呗专业协商分期在现代金融体系中短期资金周转的需求日益增多。借呗作为一种便捷高效的金融服务工具因其灵活的借款流程和相对较高的贷款额度深受广大客户的欢迎。即便是最周全的财务规划也可能遭遇突发状况引起还款困难。在这类情况下怎么
长安体育公园足球场团购,长安体育公园预订
1、陕西省游泳馆门票团购2、西安有哪些比较不错的酒店或者民宿推荐?3、抖音怎么卖景区门票,景区门票如何帮带货卖4、东莞什么地方好玩5、有人知道省体育场里的长安茶馆吗?里边环境怎么样?有没有包间呢?_百度...6、长安金秋团购怎么样陕西游
相关文章
推荐文章
发表评论
0评