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

相关推荐
9523613 小时前
SpringAOP
java·后端·学习·spring
zx28596340013 小时前
Laravel6.x新特性全解析
java·后端·spring
Jul1en_14 小时前
Claude 迁移 Codex 工作流迁移与更新
java·服务器·前端·后端·ai编程
神奇小汤圆14 小时前
京东二面:假如SQL中join了10张表,如何优化性能?
后端
神奇小汤圆14 小时前
Spring AOP底层黑科技:巧妙破解微服务异步线程池导致事务与链路上下文丢失难题
后端
未若君雅裁14 小时前
Spring Statemachine 实战入门:从零实现一个订单状态流转 Demo
java·spring·状态模式
用户91383817079914 小时前
从乐观锁到悲观锁:一次库存并发问题的排查与重构
后端
程序员包打听14 小时前
MoonBit 是什么?给第一次听说这门语言的你
前端·后端
RuoyiOffice14 小时前
2026 年开源 BPM/工作流引擎大盘点:Flowable vs Camunda vs Activiti vs Turbo——谁才是企业级首选?
java·spring boot·后端·开源·流程图·ruoyi·anti-design-vue
SamDeepThinking15 小时前
别把业务逻辑塞进存储过程,适当用表驱动法
java·后端·架构