创建带Tomcat服务的Centos Docker镜像

简介:

  Tomacat服务器是一个免费的开源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下普遍使用,是开发和高度JSP程序的首选。 
下面我就分步骤向大家介绍如何创建带Nginx服务的Centos Docker镜像。 
基础镜像:

[root@localhost ~]# docker images

REPOSITORY     TAG       IMAGE ID      CREATED      VIRTUAL SIZE

sshd    dockerfile     411d5fb16366     2 days ago      278 MB

centos   latest       0f73ae75014f     5 weeks ago     172.3 MB

其中镜像sshd:dockerfile是以镜像centos为基础的开放SSH服务的镜像。 
第一部分,手工配置并生成镜像 
一 、以镜像sshd-centos为基础新建容器,并指定容器的ssh端口22映射到宿主机的2222端口上.

docker run -d -p 2222:22 sshd:dockerfile /usr/sbin/sshd -D

查看容器运行情况:

[root@localhost ~]# docker ps -a

CONTAINER ID  IMAGE        COMMAND         CREATED      STATUS     PORTS                  NAMES

bdde7d657620  sshd:dockerfile "/usr/sbin/sshd -D"  6 seconds ago Up 5 seconds 0.0.0.0:2222->22/tcp   romantic_bardeen

二、在宿主机上通过ssh登录容器

ssh localhost -p 2222

如果提示没有ssh命令请安装openssh-clients

yum install -y openssh-clients

三、下载源码包及相关软件 
1、安装wget

cd /usr/local/src yum install -y wget

2、下载源码包 
下载JDK

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz


上面的地址要去官网的地址去获取,每超过30分钟就会失效:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载Tomcat

wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.27/bin/apache-tomcat-8.0.27.tar.gz


四、安装JDK

1、解压源码包

1
2
tar  -zxvf jdk-8u60-linux-x64. tar .gz
mv  jdk1.8.0_60  /usr/local/jdk1 .8.0_60

2、配置JDK环境脚本

1
2
3
4
5
6
touch   /etc/profile .d /java .sh
echo  "JAVA_HOME=/usr/local/jdk1.8.0_60"  >>  /etc/profile .d /java .sh
echo  "JAVA_BIN=/usr/local/jdk1.8.0_60/bin"  >>  /etc/profile .d /java .sh
echo  "JRE_HOME=/usr/local/jdk1.8.0_60/jre"  >>  /etc/profile .d /java .sh
echo  "PATH=$PATH:/usr/local/jdk1.8.0_60/bin:/usr/local/jdk1.8.0_60/jre/bin"  >>  /etc/profile .d /java .sh
echo  "CLASSPATH=/usr/local/jdk1.8.0_60/jre/lib:/usr/local/jdk1.8.0_60/lib:/usr/local/jdk1.8.0_60/jre/lib/charsets.jar"  >>  /etc/profile .d /java .sh

3、导入环境脚本

1
/etc/profile .d /java .sh

4、查看是否安装成功

java  -version

如果安装成功就会显示java版本信息

五、安装tomcat 
1、解压源码包

1
2
tar  -zxvf apache-tomcat-8.0.27. tar .gz
mv  apache-tomcat-8.0.27  /usr/local/tomcat

2、修改配置文件

cd /usr/local/tomcat/bin cp catalina.sh catalina.sh.bak >catalina.shecho '#!/bin/sh'>>catalina.shecho "JAVA_HOME=/usr/local/jdk1.8.0_60">>catalina.shecho "CATALINA_HOME=/usr/local/tomcat" >> catalina.sh grep -v '^#!/bin/sh' catalina.sh.bak >> catalina.sh

3、启动tomcat服务

/usr/local/tomcat/bin/catalina.sh start


查看进程

[root@bdde7d657620 bin]# ps aux

USER PID  %CPU  %MEM  VSZ   RSS   TTY    STAT   START  TIME COMMAND root 1   0.0  0.3   82456  3436  ?     Ss   07:00  0:00 /usr/sbin/sshd -D root 85  0.0  0.4   89792  4520  ?      Ss   07:35  0:00 sshd: root@pts/0

root 87  0.0  0.1  13264  1976 pts/0    Ss   07:35   0:00 -bash root 316  93.3  7.4    2165884 75864 pts/0   Sl  08:31   0:02 /usr/local/jdk1.8.0_60/bin/java -Djava.util root 332  0.0  0.1  21284  1268   pts/0   R+  08:31    0:00 ps aux

六、新建启动脚本

vi /usr/local/sbin/run.sh

脚本内容:

#!/bin/bash

/usr/sbin/sshd -D & /usr/local/tomcat/bin/catalina.sh run

七、生成镜像 
1、退出容器,运行下面的命令查看窗口信息



本文转自 Mr_sheng 51CTO博客,原文链接:
http://blog.51cto.com/sf1314/1980337


相关文章
|
2天前
|
存储 JSON 数据格式
docker load 后镜像名称为空的问题解决
Docker在容器化应用程序时提供了强大的镜像管理功能,但也可能在某些操作中遇到如镜像名称为空的问题。通过理解问题的成因并采取适当的解决方案,如正确保存和加载镜像、手动修复标签等,可以有效避免和解决这一问题。通过本文提供的指导,您可以确保在使用Docker进行镜像操作时更为顺利,并提高容器管理的效率。
92 82
|
2天前
|
Linux 网络安全 数据安全/隐私保护
centos开启samba服务
通过以上步骤,您已成功在CentOS系统上安装、配置并启动了Samba服务,并且可以通过Windows或Linux客户端访问共享目录。Samba为跨平台文件共享提供了强大的支持,配置灵活且易于管理。无论是简单的家庭网络共享还是企业级文件服务器,Samba都能胜任。通过合理的配置和访问控制,您可以确保文件共享的安全性和便利性。
92 74
|
4天前
|
SQL Linux 数据库
YashanDB Docker镜像制作
本文介绍了使用Docker部署YashanDB数据库的方法及其优势。相比传统部署方式,Docker简化了环境配置,实现一键部署,确保软件在不同环境中一致运行。文章详细讲解了数据库镜像与容器的概念、Dockerfile的构建流程,以及如何通过Dockerfile定制YashanDB镜像。此外,还演示了镜像的发布过程,包括推送至阿里云容器镜像服务(ACR)。最后,探讨了容器启动时的初始化脚本设置和数据文件复用方法,满足客户对数据库自动化初始化和数据持久化的需求。
|
21天前
|
存储 运维 应用服务中间件
Docker Image即Docker镜像
Docker 镜像是 Docker 容器的基础,包含了运行应用程序所需的一切。通过 Dockerfile 可以方便地创建自定义镜像,并且利用 Docker 提供的命令可以轻松管理和使用这些镜像。掌握 Docker 镜像的创建、管理和使用,是进行容器化应用开发和部署的基础技能。希望本文能帮助读者更好地理解 Docker 镜像的概念和操作,提高开发和运维效率。
88 13
|
1月前
|
消息中间件 Kafka 流计算
docker环境安装kafka/Flink/clickhouse镜像
通过上述步骤和示例,您可以系统地了解如何使用Docker Compose安装和配置Kafka、Flink和ClickHouse,并进行基本的验证操作。希望这些内容对您的学习和工作有所帮助。
190 28
|
20天前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
104 2
|
21天前
|
NoSQL MongoDB 数据库
使用 docker 快速搭建开发环境的 mongodb 服务
本指南介绍如何使用 Docker 和 Docker Compose 部署 MongoDB 和 Mongo Express。首先,通过 Docker 命令分别启动 MongoDB(镜像 `mongo:7.0.14`)和 Mongo Express(镜像 `mongo-express:1.0.2-20-alpine3.19`),并配置环境变量确保两者能正确连接。接着,提供了一个 `docker-compose.yaml` 文件示例,包含 MongoDB 数据卷、健康检查及服务依赖配置,简化多容器管理。
142 1
|
1月前
|
网络协议 Linux 网络安全
docker centos镜像 npm安装包时报错“npm ERR! code ECONNRESET”
通过上述步骤,您可以有效解决在 Docker 中使用 CentOS 镜像安装 npm 包时遇到的 "npm ERR! code ECONNRESET" 错误。希望这些方法能帮助您顺利进行 npm 包的安装。
158 26
|
弹性计算 Linux Docker
快速搭建Docker服务
Docker 是一个开源的容器引擎,利用ECS快速部署一个Docker服务。
172 0
|
3天前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
64 30