Dockerfile构建tomcat7-jdk8环境
Dockerfile常用命令
(1) FROM: 制作image时依据的基本image (2) RUN:制作image时执行的命令,一般在Dockerfile中多次出现 (3) CMD:启动docker时执行的命令,在Dockerfile中只出现一次 (4) ENV:设置环境变量 (5) COPY:制作image时,将文件系统中的文件复制到Docker镜像中 (6) WORKDIR:设置工作目录 (7) EXPOSE:设置向外暴露的端口 (8) VOLUME:设置容器与外界映射的目录
[1].创建dockerfile存放目录 mkdir -p /app/Docker/Tomcat cd /app/Docker/Tomcat/ [2].编写Dockerfile文件 cat>/app/Docker/Tomcat/Dockerfile<<EOF FROM centos #指定基础镜像来自于哪里 MAINTAINER Tomcat7 images #进行说明 ADD jdk1.8.0_144/ /opt/jdk #添加jdk ADD apache-tomcat-7.0.75 /opt/tomcat #添加tomcat #COPY xxx.war /opt/tomcat/webapps/ #war包可进行挂在或者直接拷贝 EXPOSE 8080 #开发端口 RUN /usr/bin/sed -i '107a JAVA_HOME=/opt/jdk' /opt/tomcat/bin/catalina.sh #配置环境变量 CMD ["/bin/bash","-c","/opt/tomcat/bin/catalina.sh run"] #开启Tomcat EOF [3].构建镜像 docker build -t tomcat7:01 /app/Docker/Tomcat [4].启动容器 docker run -d --name "math_tomcat01" -p8080:8080 tomcat7:01 docker ps [5].测试,并查看日志 测试:curl 127.0.0.1:8080 -I 查看日志:docker logs -f math_tomcat01 [6].查看负载 docker stats tomcat01
[7].利用数据方式启动
mkdir -p /app/tomcat cd /app/tomcat docker run -d --name "tomcat01" tomcat:01 #拷贝出需要后续配置的文件(保持与镜像内文件格式相同) docker cp -a tomcat01:/opt/tomcat/webapps ./ docker cp -a tomcat01:/opt/tomcat/logs ./ docker cp -a tomcat01:/opt/tomcat/bin ./ docker cp -a tomcat01:/opt/tomcat/conf ./ docker rm -f tomcat01 echo "欢迎使用tomcat7-jdk8">>/app/data/tomcat/webapps/ROOT/index.html 创建数据卷: docker run --name "web_data" -v /app/data/tomcat/webapps:/opt/tomcat/webapps -v /app/data/tomcat/bin:/opt/tomcat/bin -v /app/data/tomcat/conf:/opt/tomcat/conf -v /app/data/tomcat/logs:/opt/tomcat/logs centos 创建tomcat容器启动: docker run -d -p8080:8080 --name "tomcat" --volumes-from web_data tomcat:01