通过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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@docker1 ~] # vi /root/base_ssh/Dockerfile
-----------------DockerFile-----------------   
# This is Dockerfile    
# Author: koumm     
# Base image docker.io/centos    
FROM centos:ssh_v2    
MAINTAINER KOUMM xxx@126.com    
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服务器启动文件见上一节内容。

1
2
3
4
5
6
7
# 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创建镜像

[root@docker1 ~]# 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 xxx@126.com    
---> 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

[root@docker1 ~]# 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. 通过镜像创建容器

[root@docker1 ~]# docker run -d -p 2223:22 -p 8081:80 --name tomcat1 centos:tomcat_ssh_v2

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



本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1936544,如需转载请自行联系原作者

相关文章
|
13天前
|
安全 Linux Shell
ssh 远程控制服务
SSH(Secure Shell)是一种用于远程登录的安全协议,相比FTP和Telnet,它提供了更高的安全性,避免了明文传输带来的风险。要使用SSH远程管理Linux系统,需要配置sshd服务。本文介绍了如何克隆Linux服务器、修改网络配置,并通过SSH连接两台服务器,最后在目标服务器上创建一个日志文件。
29 4
|
1月前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
117 3
|
2月前
|
Java 应用服务中间件 Windows
windows服务器重装系统之后,Tomcat服务如何恢复?
windows服务器重装系统之后,Tomcat服务如何恢复?
59 10
|
3月前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
707 0
|
3月前
|
网络安全 Windows
windows安装ssh服务
windows安装ssh服务
38 0
|
3月前
|
安全 Linux Shell
SSH 命令完整实用指南 | Linux SSH 服务
【8月更文挑战第20天】
416 0
|
4月前
|
Java 应用服务中间件 Shell
|
4月前
|
监控 Ubuntu 网络安全
SSH服务
【7月更文挑战第16天】
42 6
|
4月前
|
Linux 测试技术 网络安全
SSH服务开机自动
【7月更文挑战第14天】
546 5
|
应用服务中间件 Linux
CentOS 7.4 配置tomcat 8服务
准备 已经安装好tomcat安装目录:/usr/local/tomcat 1.创建setenv.sh配置文件 vi /usr/local/tomcat/bin/setenv.sh #add tomcat pid CATALINA_PID="/run/tomcat.
3516 0