可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

docker-compose 如何让服务 Y 等服务 X 就绪后再启动? cover
概念指南

docker-compose 如何让服务 Y 等服务 X 就绪后再启动?

depends_on 配 condition: service_healthy 可让 Y 等 X 通过健康检查后启动;X 需定义 healthcheck。只控制顺序不等就绪是旧版行为。本文给出完整配置示例。

Docker 中的持久化存储(如数据库数据)该怎么管理? cover
概念指南

Docker 中的持久化存储(如数据库数据)该怎么管理?

用 Docker volume 管理持久数据:docker volume create 创建,docker run -v 卷名:/容器路径 挂载,容器删了数据还在;备份可用临时容器打包。数据库类有状态服务必须挂卷。

如何向 Docker 容器传递环境变量? cover
概念指南

如何向 Docker 容器传递环境变量?

传环境变量给容器:docker run -e KEY=VALUE 逐个传、-e KEY 透传宿主变量、--env-file .env 批量传;compose 用 environment 或 env_file。本文含秘钥管理建议。

如何用容器名实现 Docker 容器之间的互访(ping/连接)? cover
概念指南

如何用容器名实现 Docker 容器之间的互访(ping/连接)?

把容器接入同一个用户自定义网络(docker network create + docker run --network),即可用容器名互相 ping 和连接,Docker 内置 DNS 自动解析;默认 bridge 网络不支持名称解析。

Docker 容器退出/删除后如何保住数据? cover
概念指南

Docker 容器退出/删除后如何保住数据?

容器可写层随删除消失,保数据靠三类挂载:命名卷(应用数据首选)、绑定挂载(要直接访问宿主机文件)、tmpfs(反之,内存不留痕);另有 docker cp 抢救已退出容器的数据。

如何把 Docker 镜像推送到私有镜像仓库? cover
概念指南

如何把 Docker 镜像推送到私有镜像仓库?

推送私有仓库三步:docker login 仓库地址 认证 → docker tag 本地镜像 仓库地址/镜像名:标签 打标 → docker push 推送。本文含 Harbor/云仓库示例与常见报错处理。

如何在 docker-compose 中重新构建容器? cover
概念指南

如何在 docker-compose 中重新构建容器?

docker compose build 服务名 重新构建镜像,docker compose up -d --build 构建并重建容器;只想强制重建(不改代码)用 up -d --force-recreate。本文讲清各命令差别。

如何删除 Docker 镜像? cover
概念指南

如何删除 Docker 镜像?

删单个镜像 docker rmi 镜像名:标签,批量删 docker rmi 名1 名2,全删 docker rmi $(docker images -aq);被容器占用的需先删容器或 -f。

如何用 docker-compose 只重启其中一个容器? cover
概念指南

如何用 docker-compose 只重启其中一个容器?

docker compose restart 服务名 只重启指定服务;配置变了要重建用 up -d 服务名;不想动依赖容器加 --no-deps。本文区分 restart 与 recreate 的差别。

如何在已经运行的 Docker 容器里执行命令? cover
概念指南

如何在已经运行的 Docker 容器里执行命令?

docker exec 容器名 命令 在运行中的容器内执行命令;加 -it 开交互终端,-u root 指定身份,-e 传环境变量。批量场景用 sh -c 串多条。本文给出完整用法。

如何在 Docker 容器内运行 cron 定时任务? cover
概念指南

如何在 Docker 容器内运行 cron 定时任务?

容器内跑 cron:Dockerfile 装 cron、COPY crontab 文件、入口脚本用 cron -f 前台运行;注意 cron 不继承容器环境变量。

如何用 Docker 容器专门运行 cron 定时任务? cover
概念指南

如何用 Docker 容器专门运行 cron 定时任务?

专门的 cron 容器:Dockerfile 安装 cron、COPY 任务定义到 /etc/cron.d/、chmod 0644、crontab 应用、CMD ["cron","-f"] 前台运行。本文给出最小可运行示例与输出收集方法。