线上tomcat 镜像构建及容器使用

1.Dockerfile-tomcat镜像构建

FROM centos:latest
MAINTAINER NAN
ENV VERSION=8.5.42
RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y &&\
yum clean all && \
rm -rf /var/cache/yum/*

COPY apache-tomcat-8.5.42.tar.gz /tmp

RUN cd /tmp && \
tar zxf apache-tomcat-${VERSION}.tar.gz && \
mv apache-tomcat-${VERSION} /usr/local/tomcat && \
rm -rf apache-tomcat-${VERSION}.tar.gz /usr/local/tomcat/webapps/* && \
sed -i ‘1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"‘ /usr/local/tomcat/bin/catalina.sh && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENV PATH $PATH:/usr/local/tomcat/bin/

WORKDIR /usr/local/tomcat

EXPOSE 8080

CMD ["catalina.sh","run"]

tomcat链接下载可自行去官网下载,构建完成的镜像可提交至本地harbor仓库中.

2.下载镜像并构建业务镜像

2.1 docker pull xx.xx.xx.xx/library/tomcat:v1 #从镜像仓库拉取自己构建的tomcat镜像.

2.2 业务镜像:

mkdir -p /opt/tomcat/

ROOT.war 放在/opt/tomcat目录下.

Dockerfile业务镜像构建文件:

FROM 188.131.244.172/library/tomcat:v1
MAINTAINER NAN
COPY ROOT.war /usr/local/tomcat/webapps/

cd /opt/tomcat/

docker build -t mall:new -f Dockerfile .

3.启动容器
docker run -d --name mall -p 8090:8080 mall:new

原文地址:https://blog.51cto.com/12191723/2418430

时间: 2024-10-06 12:13:42

线上tomcat 镜像构建及容器使用的相关文章

一次线上tomcat应用请求阻塞的排查经过

今天早上,收到一个报警,有个服务器的http往返时延飙升,同时曝出大量404,很是折腾了一番,特记录下思考和排查经过. 1.这是单纯的时延增大,还是有什么其他情况还未掌握? 因为不知道是只有时延变大而已,还是同时有别的情况,第一反应是先看日志有没有异常. 看了一下,一片风平浪静,既是好消息也是坏消息.好消息是核心业务还在,不然一定会打日志,坏消息是日志提供不了任何信息.当然这也说明了我们的日志肯定有不到位的地方. 2.换个思路,日志风平浪静,是否只是服务器启动了什么任务,占用了大量cpu/IO等

docker构建tomcat镜像

下载centos镜像 # docker pull daocloud.io/centos:7 [[email protected] ~]# docker pull daocloud.io/centos:7 7: Pulling from centos a02a4930cb5d: Pull complete Digest: sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0 Status: Downloade

清除线上k8s中node节点无用的镜像

为了以防万一(线上环境一定要谨慎谨慎再谨慎),清除镜像对已有的pod造成不必要的影响:我们以下的操作在容器最少的node节点上运行!(如果没有的话,可以重新开一台node节点) 1.先使用kubectl get po –namespace 命名空间,查看该命名空间已有的pod 2.重新部署pod,在该node节点上产生多余的images镜像 3.使用docker system df命令,在执行清除镜像之前先查看镜像和容器的数量.注:类似于Linux上的df命令,用于查看Docker的磁盘使用情况

Nginx、Tomcat线上环境优化配置

 Nginx.Tomcat线上环境优化配置 Nginx优化: Nginx安全方面的优化: 1. nginx安全优化,在nginx配置文件http标签段内添加"server_tokens  off"即可隐藏访问或者报错时提示web版本号信息. 2. server_tokens参数可以在http,server,location的位置添加 3. 还可以修改nginx的3个源码文件 4. 如还需要安全优化更改端口.用户. nginx 性能优化: 对于nginx配置文件中对优化比较有作用的一般为

how tomcat works 五 servlet容器 上

servlet容器是用来处理请求servlet资源,并为Web客户端填充response对象的模块.在上一篇文章(也就是书的第四章)我们设计了SimpleContainer类,让他实现Container接口,也基本完成了容器的作用.但是我们得知道在实际的tomcat中有4类容器: Engine: 表示整个Catalina servlet引擎; Host: 包含一个或多个Context容器的虚拟主机; Context:表示一个Web应用程序,一个Context可以包含多个Wrapper Wrapp

如何利用docker 构建golang线上部署环境

公司最近开发了一个项目是用golang 写的,现在要部署到线上环境去,又不想在服务器上装单独的golang,决定用docker 封装下,直接打到镜像里面,然后就直接在hub.docker.com上面搜了下golang的镜像,直接就docker pull golang 最新的是1.9的版本 然后参考官方的文档弄了下Dockerfile大概是这样: FROM golang MAINTAINER jackluo #指定工作目录 WORKDIR /go/src/ActivitApi COPY . . C

Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库

转发请注明此文章作者与路径,请尊重原著,违者必究. 开始 本篇文章结束在本地创建完成镜像后,发布到公共仓库.这里的仓库是阿里云的仓库. 流程是:进入阿里云Docker仓库控制台->新建镜像仓库->按照阿里云教程上传本地镜像到云仓库->到阿里云控制台查看仓库,存在则成功. 进入阿里云仓库 这里使用的是阿里云的存储,可以注册阿里云账号,并且进入仓储,获取私人的存储地址. 设置阿里云仓储,首先进入https://cr.console.aliyun.com/cn-shenzhen/reposit

简要的线上环境部署概览

谈到线上环境,一般开发同学,不太容易接触到.即使接触到,也只是其中的冰山一角! 所以,其实说起线上环境的部署,咱们好像都有点懂,但是又都不一定完全懂!网上的知识无穷无尽,但往往都是各司一职,对于普通同学,很难窥其全貌! 所以,我今天就来说说,一些普通的线上环境的部署步骤,和一些脚本小技巧吧.只希望通过这篇文章,能够让大家有一个运维的全局! 我将会分几条线来整理咱们的运维思路! 一.从理论上讲,我们应该怎么做? 1. 针对的是什么样的用户群体,体量大量会有多少? 这是一个部署规划的前题.为啥呢?

持续集成与持续部署宝典Part 1:将构建环境容器化

介   绍 随着Docker项目及其相关生态系统逐渐成熟,容器已经开始被更多企业用在了更大规模的项目中.因此,我们需要一套连贯的工作流程和流水线来简化大规模项目的部署.在本指南中,我们将从代码开发.持续集成.持续部署以及零停机更新几个方面进行介绍.在大型组织中,这已是相当标准的工作流:但在本系列文章中,我们会更着重于探讨在容器时代,如何在基于Docker的环境中复制这些工作流.另外,我们还将详细介绍如何利用Docker和Rancher自动化处理这些工作流.在本指南中,我们提供了每个步骤的详细示例