通过DockerFile创建tomcat+ssh服务镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过DockerFile创建tomcat+ssh服务镜像相关的知识,希望对你有一定的参考价值。

在上一节通过DockerFile创建ssh服务容器中创建一个centos:ssh_v2镜像,本文在该镜像的基础上再创建一个tomcat镜像,实现TOMCAT+SSH的镜像。    
可以直接使用该镜像创建容器提供tomcat服务,通过定制tomcat服务器web目录,开通后可放入代码,或通过传入本地目录方式提供代码目录。

1. 准备如下内容:

-rw-r--r-- 1 root root      323 5月  31 14:20 Dockerfile  
-rw-r--r-- 1 root root 81634165 5月  31 13:00 jdk1.7.0_04.tar.gz    
-rw-r--r-- 1 root root  7477436 5月  31 13:18 tomcat-7.0.73-web-80.tar.gz    
-rw-r--r-- 1 root root      113 5月  31 14:39 tomcat.ini

2. 编写Dockerfile

[[email protected] ~]# vi /root/base_ssh/Dockerfile
-----------------DockerFile-----------------   
# This is Dockerfile    
# Author: koumm     
# Base image docker.io/centos    
FROM centos:ssh_v2    
MAINTAINER KOUMM [email protected]    
RUN mkdir -p /data/projects/xjjweb     
ADD jdk1.7.0_04.tar.gz /data/    
ADD tomcat-7.0.73-web-80.tar.gz /data/    
ADD tomcat.ini /etc/supervisor.d/tomcat.ini    
EXPOSE 22 80    
ENTRYPOINT ["/usr/bin/supervisord"]    
--------------------------------------------

3. 创建supervisord.conf配置文件

#创建supervisord主配置文件

# vi /root/base_ssh/supervisord.conf  
略,,,上一节内容。

#准备jdk,以及tomcat

# 创建tomcat服务启动文件  
# ssh.ini服务器启动文件见上一节内容。

# vi /root/base_ssh/tomcat.ini
[program:tomcat]   
command=/data/tomcat-7.0.73-web-80/bin/catalina.sh run    
startsecs=10     
stop    
signal=QUIT     
user=root


4. 通过Dockerfile创建镜像

[[email protected] ~]# docker build -t centos:tomcat_ssh_v2 /root/ssh/

Sending build context to Docker daemon 89.12 MB  
Step 1 : FROM centos:ssh_v2    
---> 71fb8b60cf9f    
Step 2 : MAINTAINER koumingming [email protected]    
---> Running in 20d286f8c116    
---> a2369ac07a0f    
Removing intermediate container 20d286f8c116    
Step 3 : RUN mkdir -p /data/projects/xjjweb    
---> Running in 64a24aa17057    
---> 08e629115dc3    
Removing intermediate container 64a24aa17057    
Step 4 : ADD jdk1.7.0_04.tar.gz /data/    
---> b35d2ef7a7b9    
Removing intermediate container 0ad65c5c4edd    
Step 5 : ADD tomcat-7.0.73-web-80.tar.gz /data/    
---> 240a2f3d0e63    
Removing intermediate container 60073781cb84    
Step 6 : ADD tomcat.ini /etc/supervisor.d/tomcat.ini    
---> 4678d287e2b2    
Removing intermediate container a90f8bebebcc    
Step 7 : EXPOSE 22 80    
---> Running in e3201ec23d01    
---> 152605e226be    
Removing intermediate container e3201ec23d01    
Step 8 : ENTRYPOINT /usr/bin/supervisord    
---> Running in f831d9569290    
---> a0aad1ae5a60    
Removing intermediate container f831d9569290    
Successfully built a0aad1ae5a60

[[email protected] ~]# docker images          
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE    
centos              tomcat_ssh_v2       a0aad1ae5a60        50 seconds ago      606 MB    
centos              ssh_v2              71fb8b60cf9f        2 weeks ago         407.1 MB    
docker.io/centos    latest              8140d0c64310        4 weeks ago         192.5 MB    

5. 通过镜像创建容器

[[email protected] ~]# docker run -d -p 2223:22 -p 8081:80 --name tomcat1 centos:tomcat_ssh_v2

说明: -p 2223:22 映射ssh服务,8081端口到容器80端口, 可以测试web访问。

本文出自 “koumm的linux技术博客” 博客,请务必保留此出处http://koumm.blog.51cto.com/703525/1936544

以上是关于通过DockerFile创建tomcat+ssh服务镜像的主要内容,如果未能解决你的问题,请参考以下文章

Docker------Dockerfile镜像创建

Docker------Dockerfile镜像创建

通过Dockerfile创建支持SSH服务的docker镜像(centosUbuntu)

Docker容器dockerfile镜像实战案例

使用Dockerfile文件制作centos6.8基础镜像,基于centos基础镜像的ssh远程登录镜像,jdk1.8镜像,tomcat镜像,elasticsearch镜像等等

实战--通过dockerfile本地编译tomcat镜像