news 2026/7/28 20:14:17

使用Dockerfile定制镜像

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用Dockerfile定制镜像

镜像的定制实际上就是定制每一层所添加的配置、文件。我们可以把每一层修改、安装、构建操作的命令都写入一个脚本,这个脚本就是 Dockerfile。

Dockerfile是一个文件,其内容包含了一条条的指令,每一条指令构建一层,因此每条指令的内容,就是描述该层应当如何构建。

接下来我们以官方nginx镜像为例,使用Dockerfile来定制。

1、创建目录:
mkdir mynginx
cd mynginx/
2、创建文件:
touch Dockerfile
3、编辑文件:
vim Dockerfile
内容为:
FROM nginx
RUN echo ‘<h 1>Hello, Docker!<h 1>’ /usr/share/nginx/html/index.html
4、保存编辑的文件
5、在Docker文件所在目录执行:
docker build -t nginx:v3 .
6、查看镜像:
docker images
7、运行镜像:
docker run --name mynginx -p 80:80 mynginx:2.0
8、查看容器:
docker ps -a
9、进入容器:
docker exec -it mynginx /bin/bash

其他制作镜像方式

Dockerfile 指令详解

FROM 指定基础镜像
所谓指定镜像,一定是以一个镜像为基础,在其上进行定制。基础镜像是必须指定的,而FROM就是指定基础镜像,因此一个Dockerfile中FROM是必备的指令,并且必须是第一条指令。在Docker Hub上有非常多的高质量的官方镜像,有可以直接拿来使用的服务类的镜像,如nginx、redis、mysql、tomcat等;可以在其中寻找一个最符合我们最终目标的镜像为基础镜像进行定制。
如果没有找到对应服务的镜像,官方镜像中还提供了一些更为基础的操作系统镜像,如ubuntu、bebian、centos、alpine等,这些操作系统的软件库为我们提供了更广阔的扩展空间。

FROM scratch
除了选择现有镜像外,Docker还存在一个特殊镜像,名为scratch。这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像。
如果你以scratch为基础镜像的话,意味着你不以任何镜像为基础,接下来所写的指令将作为镜像第一曾开始存在。
对于Linux下静态编译的程序来说,并不需要有操作系统提供运行时支持,所需的一切库都已经在可执行文件里了,因此直接FROM scratch会让镜像体积更加小巧。使用go语言开发的应用很多会使用这种方式来制作镜像,这也是为什么有人认为Go是特别适合容器微服务架构的语言的原因之一。

RUN执行命令
RUN指令是用来执行命令行命令的。由于命令行的强大能力,RUN指令在定制镜像时是最常用的指令之一。其格式有俩种:
shell 格式:RUN<命令>
RUN echo ‘<h 1>Hello,Docker!</h 1>’ > /usr/share/nginx/html/index.html
exec 格式:RUN[“可执行文件”,“参数1”,“参数2”]
RUN tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1
RUN make -C /usr/src/redis
RUN make -C /usr/src/redis install














版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 20:12:47

课堂录音智能处理系统:语音转写与LLM技术实践

1. 项目背景与核心价值去年我在给研究生上专业课时&#xff0c;发现课后整理课堂录音要耗费大量时间——1小时的录音往往需要3-4小时才能完成文字转录和重点提炼。这种低效的重复劳动促使我开发了这套课堂录音智能处理系统。它通过语音转写技术和大型语言模型&#xff08;LLM&a…

作者头像 李华
网站建设 2026/7/28 20:12:23

计算机毕业设计之HR平台薪酬管理系统的设计与实现

快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生活方式…

作者头像 李华
网站建设 2026/7/28 20:10:08

基于证书透明日志与MassDNS的高效子域名发现实战指南

1. 项目概述&#xff1a;从证书透明日志到精准子域名发现在安全测试和资产梳理的日常工作中&#xff0c;子域名发现是信息收集环节里最基础、也最考验耐心和技巧的一环。传统的枚举方式&#xff0c;比如基于字典的暴力破解&#xff0c;效率低下且噪音巨大&#xff0c;常常是“一…

作者头像 李华
网站建设 2026/7/28 20:09:38

Android OTA升级包签名全流程解析:从signapk到设备校验

1. 项目概述&#xff1a;为什么OTA签名是Android生态的“守门人” 如果你在Android系统开发或ROM定制的圈子里混过一段时间&#xff0c;肯定会经常和OTA升级包打交道。无论是给手机刷入一个第三方ROM&#xff0c;还是为自家产品发布一个系统更新&#xff0c;最终交付到用户手里…

作者头像 李华
网站建设 2026/7/28 20:08:39

OLAP技术解析:大数据时代的高效决策引擎

1. OLAP与大数据的黄金组合&#xff1a;为什么它能加速决策&#xff1f;在数据量爆炸式增长的今天&#xff0c;企业每天产生的TB级数据如果仅靠传统数据库处理&#xff0c;就像用算盘计算卫星轨道一样低效。三年前我参与某零售集团的BI系统改造&#xff0c;当把3000万会员数据从…

作者头像 李华