docker
文章平均质量分 87
Dontla
Life is short, I use AI.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Git Commit SHA介绍(Docker镜像哈希,Commit Hash,Git为每次提交生成的唯一标识符)SHA-1哈希算法、不可变版本快照、镜像标签、镜像tag、语义化版本SemVer
Git Commit SHA(也称 Commit Hash)是 Git 为每一次提交生成的一个唯一标识符。长度:40 位(SHA-1)内容:十六进制字符串唯一性:理论上全局唯一(基于内容计算)Git Commit SHA 的本质是:🔑代码版本的“身份证”不可变部署(Immutable Deployment)精准回溯(Traceability)稳定发布(Reproducibility)原创 2026-05-02 01:36:15 · 460 阅读 · 0 评论 -
Docker多阶段构建(Multi-stage Build)介绍(distroless镜像 / slim基础镜像、slim镜像)(FROM指令的本质)胖镜像瘦镜像、COPY . .、FROM命令
多阶段构建是 Docker 提供的一种构建机制:👉 允许在一个 Dockerfile 中使用多个FROM,每个阶段只做一件事。distroless = 无发行版(no distro)由 Google 推出的一类镜像:👉只包含运行应用所需的最小依赖👉 是官方镜像的“精简版”构建阶段:用“胖镜像”(带工具)运行阶段:用“瘦镜像”(无工具)场景推荐CI 构建多阶段生产环境distroless本地开发slim需要调试slim多阶段构建 + 精简镜像,是现代容器化的标配:✅ 更小。原创 2026-04-26 14:07:38 · 428 阅读 · 0 评论 -
安装Docker Desktop选项:Allow Windows Containers to be used with this installation(Windows容器)
💡 小提示:即使现在不勾选,以后也可以在 Docker Desktop 设置中手动启用 Windows 容器(Settings → General → “Use Windows containers”),无需重装。(如 Node.js、Python、Go、Java Spring Boot 等),——保持默认(仅 Linux 容器 + WSL 2)更轻量、稳定、性能更好。,你可以在 Docker CLI 或桌面应用中切换容器类型(例如通过。,才需要勾选它,并接受切换容器模式带来的限制。(当前是未勾选状态)原创 2026-04-07 15:51:17 · 568 阅读 · 0 评论 -
Kubernetes Service DNS介绍(k8s Service DNS)服务发现、服务即域名、CoreDNS、搜索域search domains、svc、kubelet、无头服务、SRV记录
标准格式是理解一切的基础智能补全:搜索域机制让跨命名空间调用简洁优雅场景全覆盖:ClusterIP、Headless、SRV 记录满足不同架构需求优于环境变量:动态、跨命名空间、符合云原生设计哲学掌握 DNS 规则,不仅能提升开发效率,更是排查服务通信问题的关键能力。下次当你写下时,你会知道——背后是 Kubernetes 精巧的 DNS 机制在默默护航 🌟📚 延伸阅读Kubernetes 官方文档:DNS for Services and PodsCoreDNS 配置最佳实践。原创 2026-02-04 01:45:54 · 764 阅读 · 0 评论 -
OCI(Open Container Initiative 开放容器计划)介绍(镜像规范、运行时规范、分发规范)(libcontainer、runc)Manifest、Bundle、OCI镜像
OCI(开放容器计划)是由 Linux 基金会于2015 年发起的开源治理项目,由 Docker、CoreOS(现 Red Hat)、Google 等行业先锋共同推动成立。为容器技术制定开放、中立、免版税的行业标准,终结“厂商私有格式”的碎片化时代。💡关键背景:Docker 将其核心组件捐赠给 OCI,演变为runc——如今全球最主流的 OCI 运行时参考实现。OCI 从不喧哗,却让整个容器世界得以高效对话。它像 USB 接口之于硬件——你无需关心设备品牌,插上即用;原创 2026-02-02 02:17:53 · 1150 阅读 · 0 评论 -
Docker Compose healthcheck介绍(监控容器中服务的实际健康状态)数据库健康检查pg_isready
将健康检查逻辑封装到脚本中,例如。原创 2025-09-08 20:22:56 · 2215 阅读 · 0 评论 -
docker-compose.yaml文件介绍
文件通过 YAML 格式定义服务、网络、数据卷等配置。定义容器化服务,每个服务是一个容器实例。,可以快速定义和管理复杂的应用程序栈。原创 2025-09-08 19:08:22 · 1054 阅读 · 0 评论 -
Docker多共享网络配置策略(Docker多网络、Docker networks、Docker Compose网络、Docker网络、Docker共享网络)
取决于系统复杂度、安全需求和运维策略。对于简单的单体应用,单个网络可能足够;但对于微服务或生产环境,多网络是更合理的选择。在 Docker Compose 中配置多个共享网络(原创 2025-09-08 18:03:53 · 1132 阅读 · 0 评论 -
docker-compose build命令及参数
文件中的配置构建服务镜像的命令。是 Docker Compose 中用于根据。配置项用于定义镜像的构建方式。原创 2025-09-07 22:30:20 · 1314 阅读 · 0 评论 -
docker build命令及参数介绍
通过合理使用这些参数,可以高效地构建、调试和优化 Docker 镜像。构建镜像的核心命令。是 Docker 中用于根据。原创 2025-09-07 21:53:58 · 2223 阅读 · 0 评论 -
Dockerfile解析器指令(Parser Directive)指定语法版本,如:# syntax=docker/dockerfile:1
用于指定 Dockerfile 使用的语法版本。它的作用是告诉 Docker 构建工具(如 BuildKit)如何解析和处理当前 Dockerfile 的语法。是 Dockerfile 中的。原创 2025-09-07 21:33:28 · 1221 阅读 · 0 评论 -
Linux 安装docker-compose安装方法(安装docker compose安装)
本文介绍了在Linux系统上安装Docker Compose的两种主流方法。推荐方法一通过curl下载二进制文件安装,包括下载最新版本、国内加速下载、赋予执行权限等步骤。方法二适用于无法访问GitHub的环境,需手动下载安装。文章还提供了注意事项(版本选择、镜像加速、权限问题)和常见问题解决方案(命令识别、版本兼容性、下载速度)。最后建议优先使用方法一,安装完成后通过docker-compose --version验证是否成功。原创 2025-09-02 19:51:17 · 2156 阅读 · 0 评论 -
安装docker报错:E: Unable to locate package docker-model-plugin(ubuntu版本过旧)
(如 22.04 Jammy 或 24.04 Noble)。通过以上步骤,您应能成功安装 Docker 并规避。已经过期(EOL),而阿里云镜像源中未提供。根据您的安装日志和上下文信息,问题根源在于。由于 Ubuntu 20.04 已停止支持,如果无法立即升级系统,可。原创 2025-09-02 15:43:15 · 2002 阅读 · 0 评论 -
docker-compose.yml如何引用外部环境变量?(.env文件、env_file属性、--env-file参数、docker-compose config命令验证环境变量)
Docker Compose 默认会在与 同级目录下查找名为 的文件,并将其内容作为环境变量加载。在 所在目录下创建 文件,并定义变量:2. 在 中引用变量使用 语法引用 文件中的变量:3. 运行 Docker Compose直接执行 ,Docker Compose 会自动加载 文件中的变量。如果需要管理多个环境文件(如开发、生产环境),可以使用 显式指定环境文件路径。例如, 和 :2. 在 中指定 3. 运行时指定环境文件通过命令行参数 指定不同的环境文件:注意事项原创 2025-08-29 19:10:05 · 1823 阅读 · 0 评论 -
Docker Compose命令一览(Docker Compose指令、docker-compose命令)
以下是一个的整理,涵盖了服务管理、容器操作、网络与卷管理、配置查看等核心功能。每个命令都附带了简要说明和示例,帮助你快速上手使用 Docker Compose。原创 2025-08-20 20:25:17 · 2357 阅读 · 0 评论 -
docker desktop入门(docker桌面版)(提示wsl版本太低解决办法)
Docker Desktop是Docker公司为Windows和Mac OS X用户开发的一个应用程序。它允许你在本地计算机上运行Docker容器,而无需使用虚拟机或远程服务器1。原创 2025-08-02 21:38:22 · 2331 阅读 · 0 评论 -
Docker存储:应该改/etc/systemd/system/docker.service.d/docker.conf(√)还是/lib/systemd/system/docker.service?
推荐修改方式:通过(drop-in 文件)管理自定义配置。避免直接修改(系统默认文件)。关键操作:修改后运行和使配置生效。如果有其他需求(如调整日志路径、网络配置等),也可以在 drop-in 文件中追加参数。原创 2025-06-09 11:46:50 · 1112 阅读 · 0 评论 -
docker.sock作用(docker sock)(Docker客户端与Docker Daemon守护进程通信的接口)/var/run/docker.sock
(本地 Unix 套接字),而非 TCP 端口。如果容器需要动态管理 Docker(如 CI/CD 工具、自动化脚本),挂载该套接字是必要的。参数将宿主机的套接字文件挂载到容器内,容器内的进程可以直接与 Docker 守护进程通信。,Docker 实现了高效的本地通信机制,是 Docker 生态中不可或缺的组件。与 Docker 守护进程交互,发送请求(如创建容器、管理镜像等)并接收响应。是 Docker 守护进程(Docker Daemon)的。命令行工具与 Docker 守护进程交互时,默认使用。原创 2025-05-16 23:19:23 · 2230 阅读 · 0 评论 -
Docker --format 参数介绍(Docker format、Docker -f)(自定义命令输出格式)Docker命令、Docker格式化输出、Docker显示挂载、Docker监控资源
Docker CLI 提供了强大的格式化输出功能,通过--format参数可以自定义命令的输出格式。这一功能极大地提升了日常操作效率,使输出内容更加精简、直观,便于进一步处理和分析。Docker--format参数是提高容器管理效率的强大工具,掌握其用法可以简化日常操作、优化输出内容、提升自动化程度。通过组合使用条件语句、循环迭代等高级特性,能够满足各种复杂场景的定制化需求。原创 2025-04-24 15:02:26 · 1356 阅读 · 0 评论 -
Docker --shm-size参数含义
是一个临时文件系统(tmpfs),用于存储共享内存。默认情况下,Docker 容器的共享内存大小是 64MB。如果你的应用程序需要更多的共享内存,比如某些数据库或需要大量内存的应用程序,你可以通过。将共享内存大小设置为 1GB。这样可以确保应用程序在容器中有足够的共享内存来正常运行。是一个用于 Docker 的参数,用来设置容器的共享内存大小。参数来增加共享内存的大小。在 Docker 中,原创 2025-03-20 16:37:38 · 1701 阅读 · 0 评论 -
部分docker容器日志消失(日志消失)docker logs没有结果,重启容器正常(未解决)
如果问题频繁出现,建议考虑使用外部日志收集系统,如ELK栈或Prometheus,以减少对Docker原生日志功能的依赖。原创 2025-03-20 10:17:12 · 2067 阅读 · 0 评论 -
Docker Compose常用命令及其与Docker Engine的兼容性
Docker Compose 提供了一致的管理接口,直接使用 Docker Engine 命令可能破坏其编排逻辑。建议通过 Compose 原生命令操作服务,仅在调试时谨慎使用底层 Docker 命令。原创 2025-03-04 13:43:37 · 945 阅读 · 0 评论 -
Docker run --add-host参数解析(在容器启动时向/etc/hosts文件中添加自定义的主机名与IP映射)(适用于临时调试或测试)
定义--add-host用于在容器启动时向/etc/hosts文件中添加自定义的主机名与 IP 映射。语法:docker run --add-host <hostname>:<ip_address> [其他参数] <镜像>通过该参数,可覆盖容器内默认 DNS 解析,适配特殊网络环境或调试需求。假设容器内需要将解析为启动后,容器内/etc/hosts--add-host为 Docker 容器提供了灵活的名称解析定制能力,通过在容器启动时添加自定义映射,解决了开发、测试与特定网络场景中的解析问题。原创 2025-02-25 17:37:56 · 3210 阅读 · 0 评论 -
Docker root用户运行容器与非root用户运行容器的差异和注意事项(root容器、root用户容器)(特权端口)
root 用户运行容器:非 root 用户运行容器:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:root 用户:非 root 用户:开发和测试:生产环境:CI/CD 管道:特权操作:文件权限管理:用户命名空间:最小化镜像:安全扫描:原创 2025-02-24 10:48:29 · 2282 阅读 · 0 评论 -
docker run --ipc=host参数含义
通常情况下,每个容器都有自己独立的 IPC 命名空间,这样容器之间无法直接共享这些资源。选项告诉 Docker 容器使用宿主机的进程间通信 (IPC) 命名空间。这意味着容器将共享宿主机的 IPC 资源,而不是隔离自己的 IPC 资源。这个选项通常用于需要高性能共享内存或其他 IPC 机制的场景,尤其是当容器中运行的大型应用程序需要与宿主机进行高效的数据交换时。会降低容器与宿主机之间的隔离性,所以要小心使用,确保不会影响系统的安全性。原创 2025-02-19 17:57:24 · 3137 阅读 · 0 评论 -
Seaweedfs(master volume filer) docker run参数帮助文档
【代码】Seaweedfs(master volume filer) docker run参数帮助文档。原创 2025-02-12 17:08:27 · 1676 阅读 · 0 评论 -
Python交互式界面import acl后用Ctrl+D退出导致Docker容器中Anaconda虚拟环境崩溃core dump进而容器退出问题(用exit()没有问题)EOF信号
而Ctrl+D则是发送一个EOF(End Of File)信号给进程。通常情况下,Python解释器会捕获这个信号并进行正常退出。在交互式环境中,确实推荐使用exit()或quit()来退出,因为它们会触发Python的正常清理流程。如果你必须要使用Ctrl+D,建议先确保手动调用了所有必要的清理函数,再使用Ctrl+D退出。这样可以避免资源泄露和异常终止的问题。exit()是Python的内置函数,它会进行正常的清理工作,安全地关闭解释器。这就是为什么容器也跟着退出了 - 因为容器中的主进程异常终止了。原创 2025-01-29 07:45:00 · 1764 阅读 · 0 评论 -
docker commit命令解析(将容器的当前状态保存为一个新的镜像)
Docker的强大之处在于其灵活性和可定制性。命令是这种灵活性的完美体现,它允许我们将容器的当前状态保存为一个新的镜像。本文将详细解析命令的每个选项,探讨其工作原理,并提供实际应用示例。原创 2025-01-28 09:00:00 · 5470 阅读 · 3 评论 -
Docker容器挂载目录vs挂载文件(目录挂载、文件挂载)
挂载目录适用于需要同步多个文件或整个文件夹的场景,便于管理和保持一致性,适合配置、数据和日志等用途。挂载单个文件适用于需要精确控制特定文件的场景,适合覆盖单个配置文件或管理敏感文件。在实际应用中,选择挂载目录还是单个文件取决于具体需求。对于您的mosquitto部署,挂载整个配置目录、数据目录和日志目录是合理且高效的选择,确保配置和数据的完整性与持久性。原创 2025-01-20 07:30:00 · 3785 阅读 · 0 评论 -
Docker报错:OCI runtime create failed(Are you trying to mount a directory onto a file (or vice-versa)?)
【代码】Docker报错:OCIruntimecreatefailed(Areyoutryingtomountadirectoryontoafile(orvice-versa)?原创 2025-01-18 08:30:00 · 1636 阅读 · 0 评论 -
重启docker服务过于频繁触发systemd启动限制机制start-limit-hit,导致重启docker服务失败(Job for docker.service failed.)60秒3次限制
问题主要由于 systemd 的启动限制机制引起。通过合理安排重启时间间隔或调整 systemd 的配置,可以避免类似的问题再次发生。同时,建议检查 Docker 服务的详细日志,确保没有其他潜在的问题影响服务的正常运行。原创 2025-01-10 09:29:53 · 3794 阅读 · 0 评论 -
直接暴力删除Docker /var/lib/docker目录可行性分析
删除等同于彻底清空 Docker 的本地数据存储。在下一次 Docker daemon 启动时,Docker 会自动重建该目录和基本结构,出现无任何用户数据的全新运行状态。Docker daemon 能够正常运行,只是从逻辑上已经恢复到初始安装完成后的状态。原创 2024-12-12 07:30:00 · 1476 阅读 · 0 评论 -
Docker卷原理(Docker Volume)(匿名卷、命名卷、绑定挂载)
Docker 卷的出现为容器化环境中的数据持久化问题提供了解决之道。理解卷的类型、底层机制、驱动程序扩展以及安全策略,是设计高可用、可扩展容器系统的关键。卷在容器数据管理架构中既是存储抽象的基石,也是灵活定制存储策略的途径。原创 2024-12-12 08:15:00 · 1540 阅读 · 0 评论 -
Docker Desktop Engine Stopped原因分析(docker桌面停止)WSL没装或没更新
通过这些步骤,你应该能找到并解决 Docker Desktop 引擎停止的原因。如果问题依然存在,查看 Docker 官方文档或联系 Docker 支持团队也是一个不错的选择。如果这两者中的任何一个出现问题,Docker 也会无法启动。Docker Desktop 是基于 Windows 服务的,可能是由于 Docker 引擎服务没有正确启动导致的。如果系统资源不足,Docker 可能无法启动。其他应用程序(如防火墙、杀毒软件、虚拟化软件等)可能与 Docker Desktop 冲突,导致其无法正常启动。原创 2024-11-25 22:58:29 · 18422 阅读 · 0 评论 -
不安装nvidia-docker(英伟达docker),如何访问GPU资源(容器CUDA加速、容器GPU加速)runtime运行时、nvidia-container-runtime
即使你安装的是标准的 Docker(没有),如果宿主机配置了 NVIDIA 驱动并且容器镜像支持 CUDA,容器仍然可以调用 GPU 加速。宿主机上安装了 NVIDIA 驱动,并且通过设备映射或正确的运行时配置(例如)使得容器能够访问 GPU。使用了支持 CUDA 的容器镜像,并且宿主机的 CUDA 环境已配置好。如果你没有显式安装,你可以检查 Docker 配置文件和运行时设置,看看是否已经启用了。原创 2024-11-23 20:55:50 · 1778 阅读 · 0 评论 -
Docker容器的短暂运行(一次性实例、一次性任务)和长期运行场景(Web服务器、数据库、后台应用等)(.dockerignore文件)
Docker作为一个开源的应用容器引擎,允许开发者打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可实现虚拟化。文件可以用来指定在构建过程中需要忽略的文件或目录,这些指定的内容不会被包含在发送到 Docker 服务器的构建上下文中。这样做的好处是可以减少构建的时间,降低资源消耗,同时也可以防止不必要的文件或敏感信息被无意地包含在最终的镜像中。数据迁移是另一个适合使用短暂运行容器的场景,特别是在大数据和云计算环境中,可以利用容器快速启动数据迁移任务,完成后即销毁。原创 2024-10-08 10:09:37 · 1420 阅读 · 0 评论 -
Docker /var/lib/docker/overlay2目录解析(Overlay2是Docker的默认存储驱动之一,主要用于管理容器和镜像的文件系统)(孤儿层问题Orphaned Layers)
Docker利用这些哈希值来优化存储和检索,避免重复存储相同内容的层,从而实现高效的存储管理。每当创建新的镜像层或修改现有镜像时,Docker都会生成一个新的哈希值来代表这个层的状态。这个目录对于Docker的操作至关重要,通常不建议手动更改这些文件,因为这可能会影响Docker容器的运行和数据的完整性。在您的输出中,显示了Docker使用Overlay2存储驱动在特定容器层对应的目录下的三个子目录的磁盘使用情况。,这个目录在您列出的当前运行和已存在的容器或镜像列表中找不到对应项。原创 2024-09-20 15:25:27 · 4972 阅读 · 0 评论 -
修改Docker存储目录:Docker存储路径Docker数据迁移Docker存储位置/etc/docker/daemon.json、docker占用docker容量docker迁移data-root
选择哪种方法取决于你的具体需求和你对系统的控制级别。如果你希望通过 Docker 自身的配置来管理,使用。原创 2024-07-11 13:43:35 · 13905 阅读 · 2 评论 -
ubuntu20.04 docker load -i报错:open xxx.tar: no such file or directory(卸载:snap remove docker)
卸载完成后环境不会自动重载,需要重启远程窗口,或者重新打开终端。发现docker是snap安装的,卸载重新用。然后docker就能正常使用了。原创 2024-07-04 09:41:06 · 2191 阅读 · 0 评论 -
Docker网桥的作用
Docker 网桥是一个虚拟网络设备,它的作用是在 Docker 容器和宿主机之间创建一个隔离的网络环境。具体来说,Docker 网桥充当了一个虚拟的交换机或路由器,它可以将不同容器之间或容器与主机之间的数据包进行转发和路由,从而实现容器之间的通信。Docker 网桥还支持端口映射,使得容器内的服务可以通过主机的 IP 地址和端口号进行访问。除了默认的 Docker 网桥之外,Docker 还支持用户自定义的网络,用户可以创建自己的 Docker 网络,并将容器连接到其中,以实现更加灵活的网络配置。原创 2024-07-02 15:28:36 · 688 阅读 · 0 评论
分享