SuperAPI AI 工具集

docker

部署与运维

查看项目

更新于 10-15 23:48

技能介绍

用途:本技能面向 Docker 容器运行时的日常管理与排障,覆盖安装、守护进程配置、容器生命周期、网络、卷、镜像管理、故障处理与安全。

基础信息:服务单元 docker.service 与 docker.socket;配置 /etc/docker/daemon.json;日志用 journalctl -u docker 与 docker logs <container>;数据根目录 /var/lib/docker/;套接字 /var/run/docker.sock,具 root 等价权限。

安装:apt install docker.io,或官方脚本 curl -fsSL https://get.docker.com | sh。

主要能力与常用命令:docker ps 与 docker ps -a 查看容器;docker logs <name>、docker logs -f <name> 看日志;docker exec -it <name> bash(无 bash 用 sh)进入容器;docker inspect <name> 查看完整配置;docker stats 看实时资源;dockerd --validate 校验守护进程配置;docker system prune -a 清理未用资源;docker system df 查看磁盘占用。

端口:Docker 本身默认不监听端口,仅 Unix 套接字;若启用 TCP,为 2375/tcp(未加密)或 2376/tcp(TLS),生产环境避免 2375。

健康检查:systemctl is-active docker 应为 active;docker info 无错误并显示服务端版本;docker run --rm hello-world 成功;docker ps 无权限报错。

常见故障:/var/run/docker.sock 权限拒绝,需 sudo usermod -aG docker $USER 后重新登录;容器立即退出,用 docker logs <name> 查看原因;端口已占用,用 ss -tlnp | grep <port> 查冲突;镜像拉取失败,检查 docker info 中的 DNS 并手动 docker pull;磁盘空间不足,执行 docker system prune 并检查 /var/lib/docker 大小;容器访问宿主机,可用 host.docker.internal(Docker Desktop)或 172.17.0.1;OCI runtime exec failed 通常是容器内无该二进制,改用 sh。

限制与注意:加入 docker 组等同于宿主机 root 权限,不受信任用户建议使用 rootless Docker;docker restart 先发 SIGTERM 再 SIGKILL;镜像层顺序影响缓存效率;命名卷可移植,绑定挂载依赖宿主机文件系统;docker exec 不继承入口点环境;Docker 向 PID 1 发 SIGTERM,CMD/ENTRYPOINT 应用 exec 形式;--rm 适合一次性任务,长运行容器不宜使用。更多内容见 references/ 下的守护进程配置、Dockerfile 模式与文档链接,具体细节暂未提供。