分享好友 最新动态首页 最新动态分类 切换频道
Dockerfile构建tomcat镜像并部署web应用
2024-12-26 20:21

一、前提

Dockerfile构建tomcat镜像并部署web应用

    在Linux环境,并已确认成功安装Docker。

二、目的

 

  1. 构建一个以oracle jdk version:1.8.0.131+apache tomcat version:7.0.88  Docker
  2. 将一个简单的web应用部署到创建好的Tomcat Docker 容器中。
  3. 成功启动Tomcat Docker,并正常运行部署到Tomcat中的简单应用。

三、构建JDK+Tomcat Docker步骤

 

  1. 创建Docker  目录

    2.进入刚创建的目录

    3.官网分别下载jdk-linux-1.8.131-x64.tar.gz、apache-tomcat-7.0.88.tar.gz,上传至本目录(tomcat-jre),并解压缩重命名。

    4.编写Docker构建文件

    5.构建docker images镜像

    6.run images to be container

   docker run  -d 后台执行  -p 主机暴露端口:容易端口 --name container名称(唯一)  镜像名称

   7.查看是否启动成功

 

[root@localhost acs]# docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                                            NAMES
117b230feabb        repos_local/tomcat7_jre18  "/docker_home/tomcat7/b..."   10 hours ago        Up 11 seconds       0.0.0.0:8081->8080/tcp                           tomcat_acs

  8.访问tomcat地址(成功访问

 

    9.进入已在运行docker tomcat 的容器中。

 docker exec -it 容器ID/容器name 设定使用语言:/bin/bash、/bin/sh

 

OPTIONS说明

  • -d :分离模式: 在后台运行

  • -i :即使没有附加也保持STDIN 打开

  • -t :分配一个伪终端

    10.进入tomcat docker "webapps"目录

    11.我们另开一个终端窗口,并将测试应用"hello-world.war")上传至linux中

    测试应用上传至linux 位置自己决定,cd 至该测试应用的目录后,执行下面命令

   上面命令是将linux中的文件传至docker 容器:docker cp 文件路径  容器ID/NAME:容器路径

    12.访问tomcat 应用

    13.访问页面成功,至此结束,谢谢大家查看本文章。

四、简单列举Docker常用命令

docker的使用命令
1 docker 命令介绍
docker --help
管理命令:
  container   管理容器
  image       管理镜像
  network     管理网络
命令
  attach      介入到一个正在运行的容器
  build       根据 Dockerfile 构建一个镜像
  commit      根据容器的更改创建一个新的镜像
  cp          在本地文件系统与容器中复制 文件/文件夹
  create      创建一个新容器
  exec        在容器中执行一条命令
  images      列出镜像
  kill        杀死一个或多个正在运行的容器    
  logs        取得容器的日志
  pause       暂停一个或多个容器的所有进程
  ps          列出所有容器
  pull        拉取一个镜像或仓库到 registry
  push        推送一个镜像或仓库到 registry
  rename      重命名一个容器
  restart     重新启动一个或多个容器
  rm          删除一个或多个容器
  rmi         删除一个或多个镜像
  run         在一个新的容器中执行一条命令
  search      在 Docker Hub 中搜索镜像
  start       启动一个或多个已经停止运行的容器
  stats       显示一个容器的实时资源占用
  stop        停止一个或多个正在运行的容器
  tag         为镜像创建一个新的标签
  top         显示一个容器内的所有进程
  unpause     恢复一个或多个容器内所有被暂停的进程

2.docker build命令的使用格式
docker build [OPTIONS] <PATH | URL | ->    

(1). 常用选项说明
--build-arg,设置构建时的变量
--no-cache,默认false。设置该选项,将不使用Build Cache构建镜像
--pull,默认false。设置该选项,总是尝试pull镜像的最新版本
--compress,默认false。设置该选项,将使用gzip压缩构建的上下文
--disable-content-trust,默认true。设置该选项,将对镜像进行验证
--file, -f,Dockerfile的完整路径,默认值为‘PATH/Dockerfile’
--isolation,默认--isolation="default",即Linux命名空间;其他还有process或hyperv
--label,为生成的镜像设置metadata
--squash,默认false。设置该选项,将新构建出的多个层压缩为一个新层,但是将无法在多个镜像之间共享新层;设置该选项,实际上是创建了新image,同时保留原有image。
--tag, -t,镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag
--network,默认default。设置该选项,Set the networking mode for the RUN instructions during build
--quiet, -q ,默认false。设置该选项,Suppress the build output and print image ID on success
--force-rm,默认false。设置该选项,总是删除掉中间环节的容器
--rm,默认--rm=true,即整个构建过程成功后删除中间环节的容器

(2.) PATH | URL | -说明
给出命令执行的上下文。
上下文可以是构建执行所在的本地路径,也可以是远程URL,如Git库、tarball或文本文件等。
如果是Git库,如https://github.com/docker/rootfs.git#container:docker,则隐含先执行git clone --depth 1 --recursive,到本地临时目录;然后再将该临时目录发送给构建进程。
构建镜像的进程中,可以通过ADD命令将上下文中的任何文件(注意文件必须在上下文中)加入到镜像中。
-表示通过STDIN给出Dockerfile或上下文。
示例

  • docker build - < Dockerfile

说明:该构建过程只有Dockerfile,没有上下文

 

  • docker build - < context.tar.gz

说明:其中Dockerfile位于context.tar.gz的根路径

 

 

  • docker build -t champagne/bbauto:latest -t champagne/bbauto:v2.1 .
  • docker build -f dockerfiles/Dockerfile.debug -t myapp_debug .
最新文章
服务支撑:用 RARRA 模型支撑的用户增长解决方案,助力开发者实现智能运营
得开发者得天下。平台负责能力、流程、工具、服务,开发者专注于场景、创意,打造优秀的软件应用,为用户提供极致无缝的体验,这种生态的平衡是平台得以长久的法则。然而,今天的移动开发比以往面临更多的挑战。终端越来越多样化,手机、手
[学习资料]会计年终总结模板[推广有奖]
会计年终总结模板(实用版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能
真我Neo7上手:质价比之王实至名归 同档无敌
在质价比手机市场中,用户最关注的无非就是芯片、续航、价格这几项“核心出装”,厂商也不再满足于单纯的旗舰配置下放,开始在影像、品质、设计方面发力,试图打造出一款玩家们手中的“版本T0”。作为Neo系列独立后的首款产品,真我Neo7贯
美漫:从复制超人天赋开始
  堪萨斯州小镇。  一望无际的玉米地前立着一个巨大的广告牌,上边写着“欢迎光临全球奶油玉米之都”几行大字。  将镜头拉远一些,一架直升机歪歪扭扭掠过苞米地掀起阵阵风浪吹动玉米秆。  这是一架小型直升机,舱内坐着一个金发男
欧帝洁热水器24小时人工400电话/专业快速响应 - 行业 - 百科知识-蓝心网
欧帝洁热水器售后24小时维修服务热线:400-658-8618。欧帝洁热水器全市各区售后服务点热线号码。☎:400-658-8618欧帝洁热水器售后服务,秉承“诚信为本、客户至上”的服务态度和“以客户为中心”的服务指导思想,不仅真诚地为用户提供先进
一图掌握,SEO工具简笔画解析搜索引擎优化秘诀
SEO工具简笔画以直观、易懂的方式展示了搜索引擎优化技巧,帮助用户快速学习并掌握关键SEO知识,提高网站排名和可见度。通过生动有趣的插画,简化复杂概念,让SEO变得轻松易懂。随着互联网的迅猛发展,(SEO)已成为企业提升网站排名、扩大
扫描电镜(SEM)和透射电镜(TEM)的区别有哪些?
1、扫描电镜和透射电镜的工作原理:扫描电镜(SEM)想象拿着一个亮度微弱的手电筒,身处一间暗室中。为了探查周围的环境,你可能会从左到右和从上到下用光线扫遍房间,就像在阅读一本书一样。SEM的原理与此类似,也是用电子束扫遍样本并记
快速提高SEO排名需把握这四点
SEO排名是指搜索引擎优化关键词的排名。影响外链引擎优化排名的因素很多,比如域名注册时间、服务器空间速度和稳定性,或者网站整体结构、网站内容等。为了提高搜索引擎优化排名,可能需要从用户体验的角度考虑。如果您想快速提高关键词优
如何進行安陽網站優化,提高企業線上競爭力
隨著互聯網的發展,網站已成為企業展示品牌、吸引客戶的重要平臺。在激烈的市場競爭中,安陽的企業通過進行專業的網站優化,不僅能够提升網站的搜尋引擎排名,還能吸引更多的潛在客戶,提高企業的線上競爭力。本文將介紹如何通過有效的安陽網站
Studio Bot - 让 AI 帮我写 Android 代码
以下是在 Android Studio 中实现类似功能的示例代码:1. 在项目的 build.gradle 文件中添加以下依赖:```groovydependencies {implementation 'com.vdurmont:emoji-java:5.1.1'implementation 'com.squareup.okhttp3:okhttp:4.
相关文章
推荐文章
发表评论
0评