工具|dockers 自定义tomcat

准备工作

  1. 创建目录 /root/mydocker
  2. 将jdk1.8,tomcat8.5,touch.txt上传到新建目录
  3. 创建Dockerfile
FROM centos MAINTAINERkevin<1060905996@qq.com> # 把宿主机文件copy到容器/usr/local/ 目录下 COPY touch.txt /usr/local/touch1.txt# 把java和tomcat加载到容器中 ADD jdk-8u221-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-8.5.45.tar.gz /usr/local/# 安装vim 编译器 RUN yum -y install vim # 设置环境变量 ENV MYPATH /usr/local/ # 设置登录落脚点 WORKDIR /usr/local/# 设置java和tomcat环境变量 ENV JAVA_HOME /usr/local/jdk1.8.0_221 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATAINA_HOME /usr/local/apache-tomcat-8.5.45 ENV CATAINA_BASE /usr/local/apache-tomcat-8.5.45 ENV PATH $PATH:$JAVA_HOME/bin:$CATAINA_HOME/lib:$CATAINA_HOME/bin# 容器运行时监听端口 EXPOSE 8080 # 启动tomcat #ENTRYPOINT ["/usr/local/apache-tomcat-8.5.45/bin/startup.sh"] #CMD ["/usr/local/apache-tomcat-8.5.45/bin/startup.sh","run"] CMD /usr/local/apache-tomcat-8.5.45/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.45/logs/catalina.out

注意:CMD中为linux命名,不可使用ENV新建的变量
创建镜像
docker build -f Dockerfile -t mytomcat:0.1 . # 如果不写 -f Dockerfile 默认读写当前路径下 Dokcerfile文件 docker build -t mytomcat:0.1 .

运行镜像
docker run -d -p 9080:8080 --name mytomcat0.1 -v /root/mydocker/tomcat8.5/test:/usr/local/apache-tomcat-8.5.45/webapps/test -v /root/mydocker/tomcat8.5/tomcatlogs/:/usr/local/apache-tomcat-8.5.45/logs --privileged=true mytomcat:0.1 -d 后台运行容器 -p 9080:8080 容器内8080端口映射宿主机9080端口 --name mytomcat0.1 指定容器名称 -v 数据卷,设置宿主机和容器数据卷目录 --privileged=true 如果写权限有问题,设置为true tomcat:0.1 指定镜像

验证
验证tomcat以启动
curl http://127.0.0.1:9080

验证WORKDIR生效,登录落脚点
[root@localhost tomcat8.5]# docker exec mytomcat0.1 pwd /usr/local

jdk版本
[root@localhost tomcat8.5]# docker exec mytomcat0.1 java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

【工具|dockers 自定义tomcat】进入容器
docker attachmytomcat0.1

    推荐阅读