0
0
0
Docker 用机笔记:logs、时区、瘦身与几次翻车
没有体系,就是日常敲得最多的几条和踩过的坑,攒着。
高频命令
docker ps -a --filter "status=exited" # 找挂掉的容器
docker logs -f --tail 200 <cid> # 只看最近 200 行,别一上来 -f 全量刷屏
docker exec -it <cid> sh # 精简镜像(alpine/scratch)没 bash,用 sh
docker stats # 看实时 CPU/内存
docker system df # 看镜像/容器/卷各占多少构建镜像瘦身
.dockerignore必配:node_modules、.git、日志,这几样经常把上下文搞到几百 MB- 多阶段构建:builder 阶段装依赖编译,最终镜像
COPY --from=builder只要产物 - 层顺序:不常变的放前面——先 COPY package.json 装依赖,再 COPY 源码,否则改一行代码依赖层全部重建
FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html坑(每个都翻过车)
- ⚠️ 容器时区默认 UTC,日志时间差 8 小时查问题查到怀疑人生 →
-e TZ=Asia/Shanghai - ⚠️
docker system prune -a清过头,把还要用的镜像干掉了,清理前先docker images对一眼 - ⚠️ GUI 应用读不到
~/.zshrc里的 PATH → 调起 docker 的配置里 command 写绝对路径/usr/local/bin/docker(上次 Cursor 连不上 MCP 就是这个) - ⚠️
--rm和-v卷一起用没问题,但容器删了卷还在,垃圾卷攒多了用docker volume prune(同样先看再清)