使用Dockerfile制作tomcat镜像
2016-08-12 本文已影响2223人
撸大师
前言:安装好docker,简单熟悉下命令后,现在学习下以Dockerfile自定义image。
1. 建立简单文件服务器
- 这个文件服务器给下面的 Dockerfile 提供 tomcat和jdk下载地址
> cat /data/scripts/simple_ftp_py.sh
#!/bin/bash
ftp_dir=/data/packages
ftp_port=1234
cd $ftp_dir
python -m SimpleHTTPServer $ftp_port
> nohuo bash /data/scripts/simple_ftp_py.sh &
查看

2. 编写Dockerfile
> cat /data/docker/dockerfile/tomcat7/Dockerfile
# bash image
FROM 1.1.1.100:5000/centos
MAINTAINER itimor "itimor@126.com"
# update source
# yum update -y
# Install JDK 8
RUN cd /tmp && curl -O -s 1.1.1.100:1234/jdk-8u74-linux-x64.tar.gz && tar xf jdk-8u74-linux-x64.tar.gz -C /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_74
ENV PATH $PATH:/$JAVA_HOME/bin
# Install tomcat7
RUN cd /tmp && curl -O -s 1.1.1.100:1234/apache-tomcat-7.0.63.tar.gz && tar xf apache-tomcat-7.0.63.tar.gz && mv apache-tomcat-7.0.63 /usr/local/tomcat7
# Add tomcat.sh
ADD tomcat7 /etc/init.d/tomcat7
RUN chmod 755 /etc/init.d/tomcat7
# Expose ports
EXPOSE 8080
# Define default command
#ENTRYPOINT cd /usr/local/tomcat7/bin && ./startup.sh
CMD /etc/init.d/tomcat7 start && tail -f /usr/local/tomcat7/logs/catalina.out
3. tomcat启动文件
cat /data/docker/dockerfile/tomcat7/tomcat7
#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.8.0_74
export TOMCAT_HOME=/usr/local/tomcat7
case $1 in
start)
sh $TOMCAT_HOME/bin/startup.sh
;;
stop)
sh $TOMCAT_HOME/bin/shutdown.sh
;;
restart)
sh $TOMCAT_HOME/bin/shutdown.sh
sh $TOMCAT_HOME/bin/startup.sh
;;
esac
exit 0
4. 验证 Dockerfie
执行 Dockerfie
docker build -t 1.1.1.5000/tomcat7-jdk8 .
启动容器并查看tomcat日志
docker run -it -p 8888:8080 --name tomcat7 1.1.1.5000/tomcat7-jdk8
参数说明:
-d 后台运行
-it 前台交互式运行
-p 8888:8080 将宿主机的8888端口映射到容器的8080端口
—name tomcat7 给容器命名为tomcat7
浏览器访问
tomcat7
- 好了,Dockerfile构建tomcat成功。