docker 制作tomcat 镜像并应用

tomcat支持自主应用并对外开放端口:

1、制作Dockerfile

以centos为基础,远程ssh登录:新建Dockerfile,编辑如下:

FROM tomcat
MAINTAINER ******************
ADD web.xml /usr/local/tomcat/webapps/manager/WEB-INF/
ADD tomcat-users.xml /usr/local/tomcat/conf/
ADD server.xml /usr/local/tomcat/conf/
ADD catalina.sh /usr/local/tomcat/bin/
RUN chmod +x /usr/local/tomcat/bin/catalina.sh
ADD ******.war /usr/local/tomcat/webapps/
RUN echo "Asia/shanghai" > /etc/timezone
EXPOSE 8080

此处提交了一个******.war的应用,其它server.xml等文件则用于后续使得tomcat可登陆后台;

并且改变了时区

2、我们制作一个yz tag 的镜像:

# docker build -t tomcat:yz .
Sending build context to Docker daemon 80.58 MB
Sending build context to Docker daemon 
Step 0 : FROM tomcat
latest: Pulling from tomcat
2e05a52ffd47: Pull complete 
9fdaeae348bb: Pull complete 
67d05086af43: Pull complete 
2e9d1ec89d66: Pull complete 
1afb0d51eee0: Pull complete 
5cb24a57fa37: Pull complete 
110c2f290b04: Pull complete 
966dcd51a14f: Pull complete 
8a57ce404f1b: Pull complete 
e1b97b980d07: Pull complete 
548f21c48132: Pull complete 
3e93be06ad38: Pull complete 
3e2882dd7e87: Pull complete 
4ef5a14c7b39: Pull complete 
fca011d2612a: Pull complete 
119ddf0db1a7: Pull complete 
1b8329afb263: Pull complete 
1b8329afb263: Pulling fs layer 
6d1ae97ee388: Already exists 
tomcat:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:6880839ca278600ea2a853455dd73c8ec8db9c0860d4aafc4a2b8b4d23dcdd85
Status: Downloaded newer image for tomcat:latest
 ---> 1b8329afb263
Step 1 : MAINTAINER ******************
 ---> Running in 18c800bbf944
 ---> f526d4086617
Removing intermediate container 18c800bbf944
Step 2 : ADD web.xml /usr/local/tomcat/webapps/manager/WEB-INF/
 ---> ee852f920b73
Removing intermediate container 8803896bc055
Step 3 : ADD tomcat-users.xml /usr/local/tomcat/conf/
 ---> 4d749dd1c611
Removing intermediate container bb651ecd1588
Step 4 : ADD server.xml /usr/local/tomcat/conf/
 ---> be14c5521112
Removing intermediate container 891d6c70b689
Step 5 : ADD catalina.sh /usr/local/tomcat/bin/
 ---> e73227bf617a
Removing intermediate container 34069fcf1241
Step 6 : RUN chmod +x /usr/local/tomcat/bin/catalina.sh
 ---> Running in b7b5d5123ec5
 ---> fa85b8df4062
Removing intermediate container b7b5d5123ec5
Step 7 : ADD *******.war /usr/local/tomcat/webapps/
 ---> 8a9c3b048437
Removing intermediate container 104b4652b69d
Step 8 : RUN echo "Asia/shanghai" > /etc/timezone
 ---> Running in 1c6260e3f6ae
 ---> 9be29399285f
Removing intermediate container 1c6260e3f6ae
Step 9 : EXPOSE 8080
 ---> Running in dc015b13ba50
 ---> efa62af7320e
Removing intermediate container dc015b13ba50
Successfully built efa62af7320e

每一条命令会执行一个container,依次运行

初始阶段会自动下载tomcat原始镜像,而后复制文件、打开端口等

3、测试制作好的镜像:

docker run -d --name yz-tomcat -p 8080:8080 tomcat:yz

命名为yz-tomcat,对外映射宿主机8080端口。

4、打开网页测试

完美运行

5、测试登录后台

点击红圈中的manage app,使用预设的密码登录(tomcat-users.xml中配置)

OK

结束

时间: 2024-12-24 19:26:16

docker 制作tomcat 镜像并应用的相关文章

基于Dockerfile制作tomcat镜像

Docker 概述: ??在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让 docker 读取并分析.执行,那么重复构建.更新将变得很方便,所以Dockerfile 就此诞生了 常用参数: FROM 命令.用法, FROM <image>:<tag>. FROM 命令告诉 docker 我们构建的镜像是以哪个(发行版)镜像为基础

Dockerfile介绍、Docker制作jdk镜像

Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙 dockerfile基本结构 Dockerfile 由一行行命令语句组成, 并且支持以#开头的注释行,一般而言, Dockerfile 主体内容

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

Docker安装Tomcat镜像并部署web项目

一.安装Tomcat 1.查找Docker Hub上的tomcat镜像 docker search tomcat 2.拉取官方的镜像 docker pull tomcat 等待下载完毕,需要一些时间. 3.查看docker所有的镜像 docker images 4.启动tomcat镜像 注:前者是外围访问端口:后者是容器内部端口 docker run -d -p 8080:8080 tomcat 注:前者是外围访问端口:后者是容器内部端口 如下命令可后台启动tomcat -d: 后台运行容器,并

04 Docker 制作自定义镜像包

制作自定义镜像包的两种方式 1.创建容器并对容器进行修改,然后打包容器为镜像 2.使用Dockerfile编排镜像 自定义镜像 1.创建一个容器 docker run -itd centos 2.进入容器进行修改配置 docker exec -it 容器id bash 停止容器,不是必须的 3.创建镜像并验证 docker commit 容器id 镜像名称:标签 4.打包镜像 docker save 镜像名称 > 包名.tar 使用 Dockerfile 编排镜像 给容器配置 yum 源 查看宿

Docker 制作Nginx镜像

参考文章:https://www.jianshu.com/p/dc4cd0547d1e 镜像的制作方式有两种,一种是下载别人的镜像之后再制作成自己的镜像,一种是从头开始制作自己的镜像 第一种,下载别人的镜像来修改. 安全起见下载官方的centos系统镜像,在该系统内安装nginx之后,在封装成镜像 下载centos系统镜像 docker pull centos 使用镜像启动容器并进入容器 docker run -it --name centos.nginx centos /bin/bash 安装

docker制作jdk镜像

同级目录下创建一个Dockerfile,必须叫这个名字 [[email protected] file]# ll total 181296 -rw-r--r--. 1 root root 0 Oct 31 10:34 Dockerfile -rw-r--r--. 1 root root 185646832 Mar 28 2019 jdk-8u181-linux-x64.tar.gz 编写Dockerfile [[email protected] file]# vim Dockerfile [[e

在docker中用Tomcat运行web项目

本文旨在用最通俗的语言讲述最枯燥的基本知识 上一篇文章<为什么要用docker>已经讲述了什么是docker以及我们要用docker的原因,并且讲解了如何安装docker.这时候很多读者磨拳擦脚跃跃欲试但却发现安装好docker之后就无从下手了,那么,接下来,小编会从以下方面讲述docker的一些基础知识,当然,理论都是生硬的,所以小编选取了javaweb项目中最常用的一个软件--tomcat的安装和使用来引导学习一些docker相关的知识,借此让读者能够从实战的角度去理解docker为什么会

docker之Tomcat web应用部署

以下是以公网web镜像进行部署测试.一. 准备工作 关闭selinux服务getenforce 查看selinux状态,并关闭selinux,否则启动docker时会报错.[[email protected] ~]# getenforce 查看selinux状态Disabled修改selinux配置文件docker启动报错信息:修改完selinux后重启服务器:[[email protected] ~]# reboot(注:安装软件为docker的可能会遇到这个问题,安装软件为docker-ce