Dockerfille解析

用于构建Docker镜像的文本,由一条条指令构成

Docker执行Dockerfile的流程

  1. Docker从基础镜像执行一个容器

  2. 执行一条指令并对容器进行修改

  3. 执行类型Docker commit的命令添加一个新的镜像层

  4. Docker再基于新的镜像执行一个新的容器

  5. 执行Dockerfile中的下一条命令直至指令结束

关键字

|------------|----------------------------------|
| FROM | 指定基础镜像 |
| RUN | 执行构建的命令 |
| ENTRYPOINT | 指定镜像的默认入口以及运行命令 |
| CMD | 启动容器时的命令 |
| ENV | 指定环境变量 |
| ADD | 复制指定的 src 路径下的内容到容器中的 dest 路径下 |
| COPY | 复制本地主机的 src 路径下的内容到镜像中的 dest 路径下 |
| VOLUME | 创建数据卷挂载点 |
| WORKDIR | 配置工作目录 |
| EXPOSE | 声明镜像内服务监听的端口 |

自定义镜像

案例:将一个springboot的jar包部署到Docker上

  1. 打包springboot项目

  2. 在linux中创建一个文件夹用于保存Dockerfile文件和jar包

  3. 创建Dockerfile文件

FROM java:8

ADD /springbootApplication.jar springbootApplication.jar

EXPOSE 8088

CMD java -jar springbootApplication.jar

  1. 保存文件

docker build -t springbootApplication .

  1. 运行自定义的镜像

docker run -d -p 8088:8088 \

--name news8088 \

--restart=always

\ springbootApplication

相关推荐
直奔標竿14 小时前
MySQL与Redis数据一致性实战方案(避坑指南)
java·数据库·spring boot·redis·mysql·spring·缓存
fliter14 小时前
你的网站对 AI Agent 友好吗?Cloudflare 给整个互联网打了一个分
后端
java小白小14 小时前
Spring循环依赖深度解析:从原理到源码,一次性搞懂
spring
星栈14 小时前
Rust + DDD 三层架构:没有 Spring、没有 DI 容器,解耦能力一点不少
后端·github
正在走向自律14 小时前
KingbaseES 命令行工具完全指南:ksql 常用操作与技巧
后端
dllxhcjla15 小时前
Spring全套
java·后端·spring
IT 行者16 小时前
Spring AI 2.0.0-M5 发布:全面转向 OpenAI Java SDK
java·人工智能·spring
追逐时光者16 小时前
2026 年 .NET 客户端常用 MVVM 框架推荐
后端·.net
_Evan_Yao16 小时前
长上下文模型(1M token)会杀死RAG吗?—— 理性分析
人工智能·后端
电商API_1800790524716 小时前
淘宝商品评论数据获取指南|批量自动化|api应用
java·爬虫·spring·性能优化·自动化