
如何用容器名实现 Docker 容器之间的互访(ping/连接)?
把容器接入同一个用户自定义网络(docker network create + docker run --network),可用 Docker 内置 DNS 解析容器名;实际连接仍需进程监听和策略允许。
聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

把容器接入同一个用户自定义网络(docker network create + docker run --network),可用 Docker 内置 DNS 解析容器名;实际连接仍需进程监听和策略允许。

容器可写层随删除消失,持久数据用命名卷或绑定挂载;tmpfs 用于临时数据,可能进入 swap。

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

docker compose build 服务名 重新构建镜像,docker compose up -d --build 执行构建并按镜像或配置变化决定是否重建容器;只想强制重建(不改代码)用 up -d --force-recreate。本文讲清各命令差别。

删单个镜像用 docker rmi 镜像名:标签,批量删可列多个参数;全量清理前先核对容器与标签引用,并处理空列表。

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

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

容器内跑 cron:Dockerfile 装 cron、COPY crontab 文件、入口脚本用 cron -f 前台运行;cron 环境继承取决于实现,应显式传递允许的任务变量。

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

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

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

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