开发者社区> 问答> 正文

镜像定制



约束要求和建议

  • 请勿更改 Tomcat 的默认启动脚本、目录与日志路径,确保可以获得完整的 EDAS 产品功能。
  • 随着 EDAS 新应用版本发布,需要重新打包发布镜像,拥有 EDAS 新功能特性。若距离上次打包镜像发布的时间较长,建议更新基础镜像,重新打包发布。详情参考 下载 EDAS 基础镜像
  • 目录清单Tomcat 目录:/home/admin/taobao-tomcat-production-7.0.59.3/
  • 日志目录: /root/logs/
  • WAR 包目录:/home/admin/taobao-tomcat-production-7.0.59.3/deploy/


基础镜像定制


基础镜像定制有以下3种方式:

方式一:编写 Dockerfile,向容器内复制本地文件,或执行命令


在拉取所需的基础镜像后,可通过编写 Dockerfile 方式,制作标准镜像。如下为 [backcolor=transparent]发布 WAR 包 与 [backcolor=transparent]修改 Tomcat 配置 两种示例。
[backcolor=transparent]注意:请勿使用 CMD 命令自定义镜像启动脚本
例 1:将本地应用 /tmp/edas-app.war 放入镜像,以镜像方式发布应用。
  1. [backcolor=transparent]FROM registry[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]-[backcolor=transparent]container[backcolor=transparent]:[backcolor=transparent]3.2
  2. [backcolor=transparent]ADD [backcolor=transparent]/[backcolor=transparent]tmp[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]-[backcolor=transparent]app[backcolor=transparent].[backcolor=transparent]war [backcolor=transparent]/[backcolor=transparent]home[backcolor=transparent]/[backcolor=transparent]admin[backcolor=transparent]/[backcolor=transparent]taobao[backcolor=transparent]-[backcolor=transparent]tomcat[backcolor=transparent]-[backcolor=transparent]production[backcolor=transparent]-[backcolor=transparent]7.0[backcolor=transparent].[backcolor=transparent]59.3[backcolor=transparent]/[backcolor=transparent]deploy[backcolor=transparent]/

例 2:替换 server.xml,并安装系统监控工具 sar。
  1. [backcolor=transparent]FROM registry[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]-[backcolor=transparent]container[backcolor=transparent]:[backcolor=transparent]3.2
  2. [backcolor=transparent]ADD [backcolor=transparent]/[backcolor=transparent]tmp[backcolor=transparent]/[backcolor=transparent]server[backcolor=transparent].[backcolor=transparent]xml [backcolor=transparent]/[backcolor=transparent]home[backcolor=transparent]/[backcolor=transparent]admin[backcolor=transparent]/[backcolor=transparent]taobao[backcolor=transparent]-[backcolor=transparent]tomcat[backcolor=transparent]-[backcolor=transparent]production[backcolor=transparent]-[backcolor=transparent]7.0[backcolor=transparent].[backcolor=transparent]59.3[backcolor=transparent]/[backcolor=transparent]conf[backcolor=transparent]/[backcolor=transparent]server[backcolor=transparent].[backcolor=transparent]xml
  3. [backcolor=transparent]RUN yum install [backcolor=transparent]-[backcolor=transparent]y sysstat

Dockerfile 编写完成后,可直接发布镜像

方式二:使用本地 Docker 命令,向容器内复制本地文件


与文件复制 cp 命令基本一致,执行如下命令,将复制本机 /tmp/app.war 到打包环境 WAR 包目录中。
格式:
docker cp本地文件路径edas-build-package:容器文件路径
docker cp/tmp/app.waredas-build-package:/home/admin/taobao-tomcat-production-7.0.59.3/deploy/

上方命令为示例,实际执行命令如下。作用为,复制本地文件 /tmp/app.war 至容器内 WAR 包部署目录: docker cp /tmp/app.war edas-build-package:/home/admin/taobao-tomcat-production-7.0.59.3/deploy/ [font=PingFangSC, "]

方式三:进入 Docker 容器,下载远程文件


  1. 执行命令 docker exec -it edas-build-package bash,进入容器。

  2. 执行命令 wget http://anything-you-want/本地保存路径,下载文件。


部署 WAR 包

展开
收起
猫饭先生 2017-10-26 10:19:01 1408 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《容器镜像服务企业版 (ACR EE)》 立即下载
Docker 镜像原理和最佳实践 立即下载
Docker镜像原理和最佳实践 立即下载