在上一节通过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,如需转载请自行联系原作者