可观测学堂

可观测问答

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

如何用容器名实现 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"] 前台运行。本文给出最小可运行示例与输出收集方法。

如何在 Docker 容器中运行 Nginx 并保持不退出? cover
概念指南

如何在 Docker 容器中运行 Nginx 并保持不退出?

官方 nginx 镜像默认以前台模式运行(daemon off),直接 docker run -d -p 80:80 nginx 即可;自建镜像需保证 CMD 为 nginx -g daemon off;,主进程前台是容器不退出的关键。

Dockerfile 里能指定(设置)镜像的名称吗? cover
概念指南

Dockerfile 里能指定(设置)镜像的名称吗?

不能。Dockerfile 里没有给产物镜像命名的指令,FROM 指定的是基础镜像;镜像名在构建时用 docker build -t 名称:标签 指定,也可事后 docker tag 改名。本文澄清常见误解。

如何让 Docker 容器在机器重启后自动启动? cover
概念指南

如何让 Docker 容器在机器重启后自动启动?

用重启策略:docker run --restart always(或 unless-stopped),已有容器用 docker update --restart 修改;Docker 官方推荐用重启策略而非 systemd 等进程管…