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

相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
大勇前进5 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu5 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile5 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白805 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙5 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发5 天前
软件工程SOLID 五大设计原则
后端·软件工程