创建带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


相关文章
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
616 100
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
630 99
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
982 98
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
11月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1030 6
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
743 16
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
456 8
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
关系型数据库 MySQL Docker
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
840 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结