Docker Compose 相关
本文介绍了Docker Compose及其相关概念。Docker Compose是Docker官方的容器编排工具,通过YML文件定义和管理多容器应用,简化了部署流程。文章首先解释了Docker Compose的作用及YML文件的基本概念,接着详细说明了Docker Compose的安装步骤以及一系列常用命令选项如`--verbose`, `--log-level`, `-d`等,并提供了具体的命令示例。最后,文章给出了一份YML配置文件的例子,并对其关键部分进行了逐条解析,包括服务定义、环境变量设置、端口映射、依赖关系配置等,帮助读者更好地理解和使用Docker Compose进行容器化应用的管理和部署。
Dockerfile 相关
本文介绍了Docker镜像构建的相关概念、常用指令及高级技术。首先,定义了Dockerfile和构建上下文的概念,并说明了如何通过.dockerignore文件排除不必要的文件。接着,详细解释了FROM、RUN、CMD、ENTRYPOINT等11个常用Dockerfile指令的作用与用法。此外,文章还讨论了多阶段构建技术,用于优化镜像大小和构建过程。对于希望从现有镜像反向解析Dockerfile的需求,推荐了几种工具如dfimage、whaler以及dive。最后,文章探讨了构建支持多种架构(如AMD64和ARM64)的镜像方法,包括使用docker manifest命令和docker-buildx工具两种途径。这些内容为开发者提供了全面的指导,帮助他们更高效地创建和管理Docker镜像。
Docker 配置文件详解
docker.service和docker.socket是Docker在Linux上的服务单元文件,定义了Docker守护进程的管理和通信方式。daemon.json用于自定义Docker守护程序的行为。
Docker Registry 详解
本文介绍了如何创建和管理本地Docker镜像仓库。首先,通过使用DockerHub上的Registry官方镜像并运行容器来创建本地镜像仓库,同时挂载本地数据目录。接着,文章列举了几种常用的API请求方法,包括查看repository列表、镜像tag列表以及获取特定tag的digest等。此外,还详细说明了清理镜像仓库的方法,强调了需要在配置文件中启用删除功能,并给出了具体的步骤,包括获取digest信息、删除指定镜像以及执行垃圾回收操作。最后提醒用户,在删除镜像时必须使用digest而非tag。
Docker 基本架构
本文介绍了使用Docker的原因及其基本架构。传统应用部署方式存在操作系统适配和依赖安装复杂的问题,而Docker通过提供一种轻量级且方便的解决方案来解决这些问题,它能够抹平不同操作系统的差异,并提高服务器资源利用率。Docker的基本架构包括Docker Daemon(守护进程)、Docker Client(客户端)、Docker Registry(镜像仓库)、Images(镜像)以及Containers(容器)。此外,还简述了支持Docker运行的关键技术如Namespace、Cgroups和UnionFS。最后,文章对比了Dockerd与Containerd的特点及适用场景,并补充了一些关于容器运行时的相关概念。
Helm Chart 方式部署 Sentry
Sentry 是一款全栈应用程序监控工具,提供代码级可观测性,帮助开发者识别、调试性能问题及错误,并持续了解跨系统和服务的应用程序运行状况。其主要功能包括:错误监控、性能监控、实时监控、分布式追踪、代码级分析和团队协作支持等。Sentry 支持 100 多个平台和框架,涵盖 30 多种编程语言。部署过程涉及创建命名空间、添加 Sentry 仓库、下载 Chart 包、修改 `sentry/values.yaml` 文件以配置存储类、初始账号信息和 ROOT URL 等参数,最后通过 Helm 命令部署服务并等待资源对象创建和数据库初始化完成。
Kubernetes 虚拟机管理工具之 KubeVirt
KubeVirt 是一个开源项目,旨在将虚拟机管理功能集成到 Kubernetes 集群中,使得容器和虚拟机可以在同一平台上进行统一管理和编排。它通过引入新的自定义资源定义(如 VirtualMachine、VirtualMachineInstance 等)来实现对虚拟机的定义与控制,并支持生命周期管理、存储与网络集成、实时迁移及高可用性等功能。KubeVirt 的架构基于 Kubernetes 的可扩展性设计,主要包括 virt-api、virt-controller、virt-handler 和 virt-launcher 等核心组件。部署 KubeVirt 包括获取最新版本、安装 Operator 及其 CRD 文件、验证服务状态等步骤。使用 `virtctl` 工具可以方便地对虚拟机执行启动、停止、访问等操作。
Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)
博主深入探究了Kylin V10下MySQL容器内存占用异常的根本原因,发现与Docker的LimitNOFILE设置有关,并提供了修改方法。