Dockerfile 是构建 Docker 镜像的文本文件,由指令(大写关键字)+ 参数组成,指令自上而下顺序执行,每行一条指令,注释以 # 开头。 一、核心基础指令(必掌握) 1. FROM(镜像基础,第一条有效指令) 指定构建镜像的父基础镜
一、核心前置认知 1. 镜像标签(Tag)本质 Docker 镜像由镜像 ID(sha256 哈希) 唯一标识,Tag 只是给镜像哈希起的别名;一个镜像可绑定多个 Tag,一个 Tag 同一仓库只能绑定一个镜像,直接覆盖旧镜像,这是版本混乱的根源。 2. 版本管理核心目标
场景说明 我的服务器环境说明:Debian11,Docker 数据目录 /var/lib/docker,磁盘已满;目标分区 /tzdata(已提前挂载,空间充足)。 ⚠️重要前提:Docker 不能不停机直接迁移。运行状态拷贝文件一定会造成容器文件损坏、数据库数据丢失。只能:在线先预同步 → 短时停
一、核心原因分类 docker 二进制不在 sudo 用户的 PATH 环境变量里(最常见) docker 仅安装了 containerd,没装 docker-ce 客户端 安装路径特殊,/usr/local/bin 未被 sudo 继承 仅 root 能执行,普通用户 sudo 找不到 安装不完整
分三大部分说明: Dockerfile 编写(把本地业务代码打包进镜像) 构建镜像、推送到私服完整命令流程 私服认证、常见踩坑(私有仓库 http/https、内网地址) 一、通用 Dockerfile 模板(分 Java/SpringBoot、Vue 前端、Go 三种主流业务)
一、Dockerfile(构建镜像脚本) 用于定义镜像分层构建规则,每条指令生成一层镜像。 基础模板(Java SpringBoot 示例) # 基础镜像 FROM openjdk:17-jdk-slim # 作者信息 MAINTAINER admin # 设置工作目录 WORKDIR /app #
一、卸载旧版本(如有) sudo apt remove docker docker-engine docker.io containerd runc sudo apt autoremove
一、原理说明 Harbor 默认 HTTPS,若仅启用 HTTP,Docker 客户端默认拒绝连接,会报 x509: certificate signed by unknown authority,需要在 Docker 守护进程配置 insecure-registries 信任该 HTTP 仓库地址