| 序号 | 场景 | 命令 / 操作 | 校正说明 | 备注 |
|---|---|---|---|---|
| 1 | 普通用户 → root | su - | ✅ 建议加-,切换环境变量 | su只能切用户,su -才是完整 root 环境 |
| 2 | 启动 Docker 服务 | sudo systemctl start docker | ✅ | — |
| 3 | 查看 Docker 版本 | docker version | ✅ | 区分 Client / Server 版本 |
| 4 | 创建 nginx 容器(端口映射 8080:80) | docker run -p 8080:80 -d nginx | ✅ | -d后台运行 |
| 5 | 配置 daemon 镜像加速(文件名勿写错) | sudo vi /etc/docker/daemon.json | ⚠️ 原文缺路径和 sudo,常见错误点 | 文件内容示例见下方 |
| 6 | 配置 registry-mirrors 加速源 | 在 daemon.json 中写入 | ✅ 配合 [资料2] 淘宝源:"registry-mirrors": ["https://registry.npmmirror.com"] | 原 npm 淘宝源已迁移至 npmmirror.com |
| 7 | CentOS 查看 IP | ip addr | ✅ | 也可用hostname -I |
| 8 | 本地浏览器访问虚拟机 nginx | http://虚拟机IP:8080 | ✅ 需先确认同一局域网(见 #10-11) | — |
| 9 | 端口映射(80:80) | docker run -p 80:80 -d nginx | ⚠️ 原文container run错误,应为run | run即可创建容器 |
| 10 | 虚拟机让局域网其他电脑访问 | ① 端口映射-p 80:80② 防火墙放行sudo firewall-cmd --add-port=80/tcp --permanent③ 确认同一局域网([资料1]) | ✅ 核心参考 [资料1] | 同网段判定见 #11 |
| 11 | 判断两台电脑是否同一局域网 | 见下方详解表 | ✅ 参考 [资料1] | 最快方式:ping 计算机名 |
| 12 | 创建 nginx 后台服务 | docker run -d -p 80:80 nginx | ✅ | — |
| 13 | 查看运行中的容器 | docker ps或docker container ls | ✅ 两者等价 | ps更常用 |
| 14 | 查看日志(仅打印一次) | docker logs <container_id> | ✅ | — |
| 15 | 查看日志(实时跟踪) | docker logs -f <container_id> | ✅ | -f= follow |
| 16 | 公网访问虚拟机 | 花生壳动态域名解析 / frp / ngrok | ✅ | 公网无固定 IP 时使用 |
| 17 | 进入 Ubuntu 容器交互终端 | docker run -it ubuntu sh | ⚠️ 应为docker run,原文container run错 | -it交互 + 伪终端 |
| 18 | 关闭所有容器 | docker rm -f $(docker ps -aq) | ✅ 原文container rm可简化为rm | -aq= all quiet |
| 19 | 退出后不关闭容器 | docker exec -it <container_id> sh | ✅ 原文d36b只是示例 ID | 进入已运行容器 |
| 20 | 拉取镜像三种方式 | ①pull从 Registry ②Dockerfile构建 ③ 离线load导入 | ✅ | — |
| 21 | 拉取 WordPress 镜像 | docker pull wordpress | ⚠️ 原文只写了image wordpress,缺pull | — |
| 22 | 查看镜像详情 | docker image inspect <id> | ✅ | 返回 JSON |
| 23 | 删除镜像 | docker rmi <id> | ⚠️ 原文rm是容器命令,镜像应为rmi | rmi= remove image |
| 24 | 拉取第三方镜像 | docker pull quay.io/calico/node | ✅ | — |
| 25 | 导入离线镜像 | docker image load -i mybusybox.image | ✅ | — |
| 26 | 保存镜像为文件 | docker image save busybox:latest -o mybusybox.image | ✅ | — |
| 27 | Dockerfile 示例 | 见下方 | ✅ 多个 CMD 只执行最后一个 | 淘宝源已更新 |
| 28 | 构建镜像 | docker image build -t hello-copy -f Dockerfile.copy . | ✅ | -t命名,-f指定文件,.上下文 |
| 29 | 修改镜像名/标签 | docker image tag snow snow/ball | ✅ | — |
| 30 | 查看镜像构建历史 | docker image history <id> | ✅ | — |
| 31 | 清理所有未使用资源 | docker system prune -f | ✅ | -f免确认,含容器/镜像/网络 |
📄 daemon.json 完整配置(#5 #6 补充)
{ "registry-mirrors": [ "https://registry.npmmirror.com", "https://docker.m.daocloud.io" ], "log-driver": "json-file", "log-opts": { "max-size": "100m" } }修改后执行:
sudo systemctl daemon-reload && sudo systemctl restart docker
📄 Dockerfile 校正版(#27 补充)
FROM node:10.1.0 COPY . /app WORKDIR /app # ✅ 淘宝 npm 源已迁移,改用 npmmirror RUN npm install --registry=https://registry.npmmirror.com EXPOSE 3333 CMD npm run build && npm run start # ⚠️ 多个 CMD 只执行最后一个,如需多命令用 RUN 或 && 合并🌐 判断同一局域网(#11 详解 · 参考资料1)
| 方法 | 操作步骤 | 结果判断 |
|---|---|---|
| ① 网段对比 | WIN+R→cmd→ipconfig(Win)/ip addr(Linux) | IP 前三段相同(如192.168.1.x)= 同网段 = 同一局域网 |
| ② Ping 计算机名 | WIN+R→cmd→ping 计算机名 | 通了 → 同一局域网 |
| ③ Ping IP 地址 | ping 192.168.1.x | 通了 → 同一局域网 |
| ④ 查看局域网所有电脑 | net view(Win) | 列出同一局域网内所有主机 |
| ⑤ 硬件判定 | 两台 PC 连同一台路由器 / 同一交换机 → 同一局域网 | 企业级:核心交换机/三层交换机分配同一网段也算 |
⚡最快方式:
ping 计算机名,3 秒出结果。
✅ 原文错误汇总
| 原文错误 | 修正 |
|---|---|
docker container run | →docker run(container子命令已废弃,但仍可用,推荐简写) |
docker rm <id>删除镜像 | →docker rmi <id>(rm删容器,rmi删镜像) |
docker image wordpress | →docker pull wordpress(缺动作命令) |
| daemon.json 缺路径 | →/etc/docker/daemon.json |
| 淘宝源旧地址 | →https://registry.npmmirror.com([资料2] 已迁移) |
su切 root | → 建议su -(带环境变量) |