您的位置:首页 > 运维架构 > Docker

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

2017-06-14 13:13 971 查看
在上一节通过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 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服务器启动文件见上一节内容。
# 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访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker