使用Dockerfile制作tomcat镜像

前言:安装好docker,简单熟悉下命令后,现在学习下以Dockerfile自定义image。

Docker之Dockerfile语法详解

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 &

查看

使用Dockerfile制作tomcat镜像_第1张图片
ftp

2. 编写Dockerfile

> cat /data/docker/dockerfile/tomcat7/Dockerfile
# bash image
FROM centos

MAINTAINER itimor "[email protected]"

# Install JDK 7
COPY jdk-7u79-linux-x64.tar.gz /tmp/jdk-7u79-linux-x64.tar.gz
RUN cd /tmp && tar xf jdk-7u79-linux-x64.tar.gz -C /usr/local/ && rm -rf /tmp/jdk-7u79-linux-x64.tar.gz

ENV JAVA_HOME /usr/local/jdk1.7.0_79
ENV PATH $PATH:/$JAVA_HOME/bin

# Install tomcat7
COPY apache-tomcat-7.0.93.tar.gz /tmp/apache-tomcat-7.0.93.tar.gz
RUN cd /tmp && tar xf apache-tomcat-7.0.93.tar.gz && mv apache-tomcat-7.0.93 /usr/local/tomcat && rm -rf /tmp/apache-tomcat-7.0.93.tar.gz

# Add tomcat.sh
ADD tomcat /etc/init.d/tomcat
RUN chmod 755 /etc/init.d/tomcat

# Expose ports
EXPOSE 8080

# Define default command
ENTRYPOINT /etc/init.d/tomcat start && tail -f /usr/local/tomcat/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

浏览器访问

使用Dockerfile制作tomcat镜像_第2张图片
tomcat7

  • 好了,Dockerfile构建tomcat成功。

你可能感兴趣的:(使用Dockerfile制作tomcat镜像)