下载安装

Windows 系统(Windows 10/11 专业版 / 企业版)

  1. 下载安装包:访问 Docker 官网,下载 Windows 版 Docker Desktop。
  2. 安装:双击安装包,勾选「Use WSL 2 instead of Hyper-V」(推荐),一路下一步完成安装。
  3. 启动验证:安装完成后启动 Docker Desktop,等待右下角图标变为绿色(表示启动完成)。
  4. 打开「命令提示符」或「PowerShell」,执行 docker --version 验证。

开启「Hyper-V」和「容器」功能

Win10 家庭版需安装 WSL2 替代 Hyper-V;有WLS2可以不用Hyper-V

  1. 按下 Win + R 组合键,输入 optionalfeatures.exe,回车(或通过控制面板→程序→程序和功能→启用或关闭 Windows 功能)。
  2. 弹出「Windows 功能」窗口,找到以下选项并勾选:
    1. ✅ Hyper-V(勾选后会自动选中其子项,如 Hyper-V 管理工具、Hyper-V 平台);
    2. ✅ 容器(单独勾选,位于 Hyper-V 下方或列表中)。
  3. 勾选完成后点击「确定」,系统会开始安装所需组件,等待进度完成。
  4. 安装完成后会提示「需要重启计算机才能生效」,点击「立即重启」。

 

打开Docker Desktop

提示 "WSL needs updating (Your version of WSL is too old)" 时,说明你的 Windows Subsystem for Linux(WSL)版本过低,无法适配 Docker Desktop 依赖的 WSL2 功能。

原因:Docker Desktop (尤其是 Windows 家庭版)依赖 WSL2 作为容器运行时,而旧版 WSL(如 WSL1 或早期 WSL2)存在兼容性问题,必须升级到最新版 WSL2。

解决:一键升级 WSL(推荐,最简单)

  1. 以管理员身份运行 PowerShell:
    按下 Win 键,搜索「PowerShell」→ 右键选择「以管理员身份运行」。
  2. 执行升级命令:wsl --update
    该命令会自动下载并安装最新版 WSL 内核,等待进度完成即可。
  3. 重启 WSL:wsl --shutdown
  4. 重启 Docker Desktop:
    关闭 Docker Desktop 后重新打开,此时「WSL 版本过低」的提示应消失。

Docker和WSL2

Docker Desktop 优先选择 WSL2 作为运行后端(无 Hyper-V 也能运行),Windows 家庭版用户只能用 WSL2 后端(因为没有 Hyper-V)

  1. WSL2 是 Docker 在 Windows 上的「轻量级运行环境」,替代了笨重的 Hyper-V,是必装依赖;
  2. Docker 的容器实际运行在 WSL2 的 Linux 内核中,而非 Windows 内核;
  3. WSL2 的 DNS / 网络配置直接影响 Docker 拉取镜像、容器访问网络;
  4. 前端用 Docker 运行 Nginx/Node 容器时,优先用 WSL2 后端,性能和兼容性更好。

问题

执行 docker pull hello-world 出现连接超时 / 无法解析镜像的错误

原因:是Docker 默认的官方镜像仓库(docker.io)在国内访问不稳定,或网络 / 代理配置异常导致无法拉取镜像。

解决:配置国内 Docker 镜像源(优先推荐)

国内云厂商提供了 Docker 镜像加速服务,替换默认源后可解决拉取超时问题,步骤如下:

步骤 1:打开 Docker Desktop 镜像源配置界面

  1. 启动 Docker Desktop(确保已跳过登录,且 WSL 问题已解决);
  2. 点击顶部菜单栏「Settings」(设置)→ 左侧选择「Docker Engine」;
  3. 右侧编辑框中会显示 JSON 配置,默认是 {} 或基础配置。

image

步骤 2:添加国内镜像源

将以下配置粘贴到编辑框中(覆盖原有内容,保留 JSON 格式),选择 1-2 个国内源即可:
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",        // 网易云镜像源
    "https://mirror.ccs.tencentyun.com",   // 腾讯云镜像源
    "https://docker.mirrors.ustc.edu.cn",  // 中科大镜像源
    "https://cr.console.aliyun.com/"       // 阿里云(需登录阿里云获取专属源,更稳定)
  ]
}

阿里云和腾讯云的都不好用了。看公告,阿里云要有限定条件,腾讯云要收费。正常可用:https://zhuanlan.zhihu.com/p/713698864

DockerHub 镜像仓库是否正常
正常
正常
docker.1ms.run 正常
hub.xdark.top 正常
dhub.kubesre.xyz 正常
docker.kejilion.pro 正常
正常
正常
正常
正常
image.cloudlayer.icu 正常
docker-0.unsee.tech 正常
docker.tbedu.top 正常
hub.crdz.gq 正常
正常

 

 

使用 Docker Compose 运行 ONLYOFFICE 文档

官方链接 https://helpcenter.onlyoffice.com/zh/docs/installation/docs-community-docker-compose.aspx#startingandusingonlyofficedocs_block

下载 Docker-DocumentServer 仓库

通过执行以下命令下载最新版本的 Docker-DocumentServer 仓库:

git clone https://github.com/ONLYOFFICE/Docker-DocumentServer

仓库里的docker-compose.yml

docker-compose.yml文件是DockerCompose的核心,用于定义服务、网络和数据卷。
该文件使用YAML格式编写,其默认路径为./docker-compose.yml,可以使用.yml或.yam1作为文件扩展名。
在docker-compose.yml文件中,可以定义多个服务,每个服务可以包含一系列配置选项,例如镜像名称、容器端口、环境变量等。
此外,docker-compose.yml文件还可以定义网络和数据卷,以便在多个容器之间共享网络和数据。网络可以设置为公共或私有,数据卷可以设置为持久化或非持久化。
使用DockerCompose的基本步骤如下:
  • 1.使用Dockerfile定义应用程序的环境。
  • 2.使用docker-compose.yml定义组成应用程序的服务。
  • 3.运行docker-compose up命令启动并运行应用程序。

启动和使用 ONLYOFFICE 文档(Docker Desktop也要打开

启动 ONLYOFFICE 文档

docker-compose up -d

停止 ONLYOFFICE 文档

docker-compose down

测试onlyoffice服务是否启动

浏览器打开http://localhost:8765

image

其他配置

1 设置允许访问的主机
onlyoffice的document.url必须是公网链接;使用ngrok,启动内网穿透隧道,得到公网域名
ngrok http 192.168.1.132:1024
2 检查端口是否被占用执行以下命令查看 8765 端口是否被其他程序占用:

Windows + r:cmd

 netstat -ano | findstr :8765

若有输出,说明端口被占用,可结束对应进程(taskkill /PID <进程ID> /F)或修改 ONLYOFFICE 映射端口。

3 关闭JWT(开发测试阶段)

4 禁用不必要的实时协作,减少WebSocket压力(预览模式推荐)直接禁用容器内WebSocket

image

 

常用命令

进入容器

查找包含onlyoffice的容器(PowerShell专用)

docker ps | Select-String "onlyoffice"

找到容器 ID后,继续执行进入容器的命令:替换为你的容器ID

docker exec -it 506891f6d5cc bash

 或者

image

docker exec -it onlyoffice-documentserver /bin/bash

查看服务状态

supervisorctl status

一、镜像操作(Image)

镜像是容器的基础,常用命令涵盖拉取、查看、删除、构建等核心操作。
命令说明示例
docker pull <镜像名:标签> 从仓库拉取镜像(默认拉取 latest 标签) docker pull hello-worlddocker pull nginx:1.25
docker images 查看本地所有镜像 docker images(精简版)、docker images -a(包含中间层镜像)
docker search <镜像名> 在 Docker Hub 搜索镜像 docker search mysql
docker rmi <镜像ID/镜像名> 删除本地镜像(需先删除依赖容器) docker rmi hello-worlddocker rmi d4aaab6242e0
docker rmi -f <镜像ID/镜像名> 强制删除镜像(忽略容器依赖) docker rmi -f d4aaab6242e0
docker build -t <镜像名:标签> <Dockerfile路径> 从 Dockerfile 构建镜像 docker build -t myapp:v1 .. 表示当前目录)
docker save -o <保存路径/文件名.tar> <镜像名> 将镜像导出为 tar 包 docker save -o nginx.tar nginx:latest
docker load -i <tar包路径> 从 tar 包导入镜像 docker load -i nginx.tar
docker image prune 清理悬空镜像(无标签的镜像) docker image prune(加 -a 清理所有未被使用的镜像)

二、容器操作(Container)

容器是镜像的运行实例,命令涵盖创建、启动、停止、删除、进入容器等。

1. 容器创建与启动

命令说明示例
docker run [参数] <镜像名> 创建并启动容器(核心命令) 详见下方常用参数说明
docker start <容器ID/容器名> 启动已停止的容器 docker start cad1edabd67cdocker start mynginx
docker restart <容器ID/容器名> 重启容器 docker restart mynginx
docker run 核心参数:
  • -d:后台运行容器(守护进程模式),如 docker run -d nginx
  • -p <主机端口>:<容器端口>:端口映射,如 docker run -d -p 8080:80 nginx(主机 8080 端口映射容器 80 端口)。
  • -v <主机路径>:<容器路径>:挂载数据卷(目录映射),如 docker run -d -v D:\nginx\html:/usr/share/nginx/html nginx
  • --name <容器名>:为容器指定自定义名称,如 docker run -d --name mynginx nginx
  • -it:交互式运行容器(通常配合 /bin/bash),如 docker run -it ubuntu /bin/bash
  • --rm:容器停止后自动删除,如 docker run --rm hello-world

2. 容器查看与日志

命令说明示例
docker ps 查看运行中的容器 docker ps(加 -a 查看所有容器,包括停止的)
docker logs <容器ID/容器名> 查看容器日志 docker logs mynginx(加 -f 实时跟踪日志)
docker inspect <容器ID/镜像名> 查看容器 / 镜像的详细信息(JSON 格式) docker inspect mynginx

3. 容器进入与操作

命令说明示例
docker exec -it <容器ID/容器名> <命令> 进入运行中的容器执行命令(推荐) docker exec -it mynginx /bin/bash
docker attach <容器ID/容器名> 附着到容器的主进程(退出会停止容器,慎用) docker attach mynginx
docker cp <主机路径> <容器ID>:<容器路径> 主机与容器间复制文件 docker cp D:\index.html mynginx:/usr/share/nginx/html

4. 容器停止与删除

命令说明示例
docker stop <容器ID/容器名> 停止运行中的容器 docker stop mynginx
docker kill <容器ID/容器名> 强制杀死容器(立即停止) docker kill mynginx
docker rm <容器ID/容器名> 删除已停止的容器 docker rm cad1edabd67c
docker rm -f <容器ID/容器名> 强制删除容器(无论是否运行) docker rm -f mynginx
docker container prune 清理所有停止的容器 docker container prune(输入 y 确认)

三、数据卷操作(Volume)

数据卷用于持久化容器数据,避免容器删除后数据丢失。
命令说明示例
docker volume create <卷名> 创建数据卷 docker volume create nginx-data
docker volume ls 查看所有数据卷 docker volume ls
docker volume inspect <卷名> 查看数据卷详细信息(含存储路径) docker volume inspect nginx-data
docker volume rm <卷名> 删除指定数据卷 docker volume rm nginx-data
docker volume prune 清理未被使用的数据卷 docker volume prune

四、网络操作(Network)

Docker 网络用于容器间通信或容器与主机通信。
命令说明示例
docker network ls 查看所有网络 docker network ls
docker network create <网络名> 创建自定义网络(默认桥接模式) docker network create my-network
docker network connect <网络名> <容器名> 将容器连接到指定网络 docker network connect my-network mynginx
docker network disconnect <网络名> <容器名> 断开容器与网络的连接 docker network disconnect my-network mynginx
docker network rm <网络名> 删除指定网络 docker network rm my-network
docker network prune 清理未被使用的网络 docker network prune

五、系统管理与信息查看

用于监控 Docker 系统状态、资源使用等。
命令说明示例
docker info 查看 Docker 系统信息(版本、驱动、存储路径等) docker info
docker stats 实时查看容器资源使用情况(CPU、内存、网络) docker stats(加容器名可指定查看)
docker system df 查看 Docker 磁盘使用情况(镜像、容器、卷) docker system df
docker system prune 一键清理所有未被使用的镜像、容器、网络、卷(谨慎使用) docker system prune(加 -a 清理更彻底)

六、Docker Compose 常用命令(可选)

若使用 docker-compose.yml 管理多容器应用,常用命令:
命令说明示例
docker-compose up 创建并启动所有服务(-d 后台运行) docker-compose up -d
docker-compose down 停止并删除容器、网络(加 -v 删除数据卷) docker-compose down -v
docker-compose ps 查看 Compose 管理的容器 docker-compose ps
docker-compose logs 查看服务日志(-f 实时跟踪) docker-compose logs -f nginx
docker-compose restart <服务名> 重启指定服务 docker-compose restart mysql
如果需要某个命令的更详细用法,可通过 docker <命令> --help 查看官方帮助(如 docker run --help)。
 
查看Docker信息  docker version 
查看系统信息  docker info 
查看 Docker 的存储配置:docker info | findstr "Docker Root Dir"

 

posted on 2026-01-04 11:36  哈哈哈~_~  阅读(41)  评论(0)    收藏  举报