20250706-8-Docker快速入门(下)-Dockerfile介绍与基本使用_笔记

一、Dockerfile构建镜像

1. Dockerfile概述



  • 定义:Dockerfile是一个用于自动构建镜像的文本文件,由一条条指令组成
  • 工作原理:指令逐步执行,每个指令完成不同功能
  • 典型指令示例:
    • FROM centos:latest:基于指定镜像构建
    • LABEL maintalner lizhenliang:添加说明信息标签
    • RUN yum install gcc -y:执行安装命令
    • COPY run.sh /usr/bin:拷贝文件到镜像
    • EXPOSE 80:声明容器服务端口
    • CMD ["run.sh"]:启动应用程序
2. Dockerfile常用指令



  • 基础指令:
    • FROM:指定基础镜像,如FROM centos:7
    • LABEL:添加元数据标签
    • RUN:执行shell命令,可连接多条命令用&&,如yum install epel-release && yum install nginx -y
  • 文件操作:
    • COPY:拷贝宿主机文件到镜像
    • ADD:解压压缩包并拷贝(比COPY多解压功能)
  • 环境配置:
    • ENV:设置环境变量
    • USER:指定运行命令的用户
    • WORKDIR:设置工作目录
  • 容器配置:
    • EXPOSE:声明服务端口(实际暴露需运行时指定)
    • CMD:容器启动时默认执行的命令(多个CMD时最后一个生效)
  • 重要原则:
    • 应用程序必须以前台方式运行,不能使用后台进程
    • 参考官方镜像写法,如nginx使用CMD ["nginx", "-g", "daemon off;"]
3. 构建镜像命令



  • 基本命令:docker build -t 镜像名:标签 .
  • 关键参数:
    • -t:指定镜像名称和标签
    • -f:指定Dockerfile路径(默认使用当前目录下Dockerfile)
  • 上下文路径:
    • 末尾的点.表示构建上下文路径
    • Dockerfile中所有文件操作都基于此路径
  • 构建过程:
    • 会按步骤执行Dockerfile中的每条指令
    • 每条指令都会生成一个中间层镜像
    • 构建失败时可从上次成功步骤继续
  • 注意事项:
    • 避免在容器中使用systemd等后台服务管理工具
    • 所有应用程序应以前台方式运行(通过CMD指定)
    • 参考官方镜像的构建方式(如nginx官方镜像)
二、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

Dockerfile概述

用于自动构建镜像的文本文件,包含逐条指令

指令功能区分(如FROM、RUN、CMD)

⭐⭐

Dockerfile指令

FROM引用基础镜像、RUN执行命令、COPY复制文件、EXPOSE声明端口、CMD启动应用

CMD与ENTRYPOINT区别,RUN多命令写法(&&连接)

⭐⭐⭐

容器启动原则

必须以前台进程运行(如nginx -g 'daemon off;'),禁止使用systemd

特权模式与常规模式差异,一号进程必要性

⭐⭐⭐⭐

镜像构建命令

docker build -t <镜像名> -f <Dockerfile路径> .

上下文路径(.的含义),-y自动确认参数

⭐⭐

Nginx镜像示例

基于CentOS 7安装Nginx并配置前台启动

官方镜像参考,daemon off参数作用

⭐⭐⭐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值