
如何用容器名实现 Docker 容器之间的互访(ping/连接)?
把容器接入同一个用户自定义网络(docker network create + docker run --network),即可用容器名互相 ping 和连接,Docker 内置 DNS 自动解析;默认 bridge 网络不支持名称解析。
聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

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

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

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

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

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

docker compose restart 服务名 只重启指定服务;配置变了要重建用 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、crontab 应用、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 等进程管…