编写Dockerfile文件
1.dockerfile结构介绍
from 基础镜像
maintainer 维护者信息
run 命令前加run
CMD 容器启动时执行的操作,可以自定义脚本,也可执行系统命令
ENTRYPOINT 容器启动时执行的操作,设置指令指定容器启动时执行的命令,可以追加命令
USER 容器执行shell命令的用户
ENV 设置环境变量
add copy文件,会自动解压,支持从远程URL获取资源
workdir 当前工作目录
volume 目录挂载
expose 端口
run 一直运行
2.例子:创建到主页的tomcat镜像容器
(1)创建Dockerfile,内容如下
FROM tomcat #从基础镜像
RUN mkdir -p /usr/local/tomcat/webapps/ROOT/ #递归创建文件目录
RUN echo 'hello world'>/usr/local/tomcat/webapps/ROOT/index.html #将一个字符串写入 index.html文件
WORKDIR /usr/local/tomcat/webapps/ #将工作目录切换到 webapps路径下
(2)执行创建命令,镜像构建
docker build -t mydocker . (. 表示Dockerfile所在路径 为当前路径)
docker images //查看到mydocker的镜像
docker run -d --name mydocker-8081 -p 8081:8080 mydocker //基于此镜像,创建容器
docker exec -it mydocker-8081 /bin/bash //进入容器
直接来到/usr/local/tomcat/webapps 目录,因为上面脚本 WORKDIR 指定了此目录为工作目录。
http://192.168.88.135:8081/index.html 访问
3.dockerfile例2:创建到主页的tomcat镜像容器
FROM centos
#设置作者
MAINTAINER huchao [email protected]
#拷贝tomcat jdk 到镜像内并解压
ADD apache-tomcat-8.5.30.tar.gz /usr/local/tomcat
ADD jdk-8u202-linux-x64.tar.gz /usr/local/jdk
#设置工作目录
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置jdk 和tomcat的环境变量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_202
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-8.5.30
ENV CATALINA_BASE /usr/local/tomcat/apache-tomcat-8.5.30
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#设置暴露的端口
EXPOSE 8080
#运行tomcat
CMD /usr/local/tomcat/apache-tomcat-8.5.30/bin/startup.sh && tail -f /usr/local/tomcat/apache-tomcat-8.5.30/logs/catalina.out
标签:总结,镜像,tomcat,local,usr,ENV,HOME,编写,dockerfile From: https://www.cnblogs.com/huchao12/p/17722628.html