Dockerfile定制Tomcat镜像

  • Dockerfile中的打包命令
  1. FROM : 以某个基础镜像作为此镜像的基础

  2. RUN : RUN后面跟着linux常用命令,如RUN echo xxx >> xxx,注意,RUN 不能用于执行命令,因为每个RUN都是独立运行的,RUN 的cd对镜像中的目录无效。

  3. WORKDIR : 此命令用于切换目录,相当于 cd

  4. COPY : 用于将宿主机的文件,复制到容器中

  5. ADD : 用于将宿主机的文件,复制到容器中

  6. CMD :用于启动容器后,默认的执行命令

  7. ENTRYPOINT : 用于启动容器后,默认的执行命令

  8. ENV 设置环境变量 : ENV MYSQL_ROOT_PASSWORD 123456 ,用于设置操作系统级别的环境变量,程序可以获取操作系统的变量进行配置和使用。

  9. EXPOSE :将容器中的端口暴露出去,便于宿主机挂载

  • 定制Tomcat镜像

定制Tomcat镜像实现可以访问默认的index.html,并将宿主机的文件复制到容器中

bash 复制代码
FROM tomcat
#切换工作目录
WORKDIR /usr/local/tomcat/webapps
#创建文件夹
RUN mkdir ROOT

#切换工作目录
WORKDIR /usr/local/tomcat/webapps/ROOT

#创建文件
RUN echo '<h1 style="color:red">Hello Tomcat</h1>' >> index.html

#将宿主机的图片拷贝到容器中
COPY test.html /usr/local/tomcat/webapps/ROOT/

构建Docker镜像

docker build -t mytomcat:v1.0 .

运行自己创建的镜像

docker run -d -p 8100:8080 mytomcat:v1.0

注意,一定不要忘记添加v1.0,否则会找latest版本。

查看运行效果


镜像定制成功

相关推荐
z落落5 分钟前
C# 静态成员 vs 非静态成员(调用规则+内存特点)+只读和常量 const常量 / readonly / static readonly 三者终极区别
java·开发语言·c#
java1234_小锋11 分钟前
LangChain4j 开发Java Agent智能体- 整合SpringBoot4
java·开发语言·langchain4j
basketball61614 分钟前
C++进阶:3. unique_ptr 现代C++内存管理的基石
java·jvm·c++
zzqssliu20 分钟前
跨境代购系统的物流和通知模块重构思考:从设计模式到生产落地
java·设计模式·重构
appearappear23 分钟前
一句sql 根据明细数据状态,精确更新一个主单主状态
java
许彰午26 分钟前
04_Java数组操作全解
java·开发语言·python
AIGS00127 分钟前
生产运营三大瓶颈,工业AI怎么破局?
java·人工智能·人工智能ai大模型应用
码不停蹄的玄黓27 分钟前
Java 线程池 execute() 和 submit() 对比
java·开发语言
方也_arkling35 分钟前
【Java-Day19】集合1(Collect单列集合)
java·开发语言
方也_arkling1 小时前
【Java-Day19】集合3 List中常见的方法和5种遍历方式
java·开发语言