在上一节通过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
[root@docker1 ~]# vi /root/base_ssh/Dockerfile -----------------DockerFile----------------- # This is Dockerfile # Author: koumm # Base p_w_picpath 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服务器启动文件见上一节内容。
# 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 p_w_picpaths
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访问。