无需 Dockerfile,一条命令即可轻松快速地构建 Docker 镜像

boyanx6个月前技术教程42

使用指定命令构建新的 Docker 镜像

Docker 镜像构建通常通过编写 Dockerfile 文件来完成,这种方式在一些临时构建镜像或快速测试的场景中略显繁琐。

因此,x docker 提供了 refit 命令用于在不编写 Dockerfile 的情况下快速构建自定义镜像。

例如,基于 alpine 镜像创建一个名为 alpine-with-jq 的镜像,该镜像构建时执行 apk add jq 命令以安装 jq

x docker refit --from alpine --to alpine-with-jq -- apk add jq
  • 在此命令中:
  • --from alpine:表示指定构建的基础镜像为 alpine
  • --to alpine-with-jq:表示指定最终构建的镜像名为 alpine-with-jq
  • -- apk add jq:表示在镜像构建过程中执行 apk add jq 命令安装 jq 工具。

使用指定脚本构建新的 Docker 镜像

此外,x docker refit 还支持使用脚本文件来构建镜像,以满足相对复杂的构建流程。

假设你已经编写了一个名为 prepare.sh 的脚本,该脚本中包含了安装 jq 和其他操作的命令,如

apk add jq
eval "$(wget -O- https://get.x-cmd.com)"
x theme use el

运行以下命令,即可在镜像构建时运行 prepare.sh 脚本:

x docker refit --from alpine --to alpine-with-jq --script prepare.sh

通过上述方式,你可以灵活地将一系列自定义操作封装在脚本中,避免每次都需要在命令行中输入长串的命令。


更多内容请查阅 : x docker (2) - 重新构建 Docker 镜像 | x-cmd mod cookbook
转载请标明原文链接 :
https://cn.x-cmd.com/mod/docker/cookbook-2

标签: jq工具

相关文章

29、jQuery.extend()与 jQuery.fn.extend()的区别?(必会)

$.fn.extend()和$.extend()是 jQuery 为扩展插件提拱了两个方法jQuery.extend()一般用于扩展工具函数(也可以说是基于类的扩展)jQuery.fn.extend(...

jQuery对象和DOM对象互相转换

在讨论jQuery对象和DOM对象的相互交换之前,先约定好定义变量的风格。如果获取的对象是jQuery对象,那么在变量前加上$,例如:var$variable=jQuery对象;如果获取的是DOM对象...

9个超实用的GitHub开源项目

1.InvenTree:开源库存管理系统项目地址:https://github.com/inventree/InvenTree 简介:InvenTree是一个开源的库存管理系统,提供强大的低级别库存控...

Vue3 神级工具:终于可以实现打字的动画效果了!

Typed.js 是一个轻量级的 JavaScript 库,用于在网页上实现打字机动画效果。它支持自定义打字速度、循环模式、回调函数等,非常适合用于动态展示标语、代码片段或交互式文本效果。核心特性打字...

6款可替代dreamweaver的工具

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

2021年Top 5主流用户界面(UI)控件推荐

什么是用户界面(UI)控件?用户界面简称UI,是英文User和 interface的缩写。从字面上看是用户与界面2个组成部分,但实际上还包括用户与界面之间的交互关系。用户界面(UI)控件就是可以嵌入到...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。