1、由于Win10 LTSC 1809系统不方便更新,无法安装最新版的docker 4.38.0版本,所以需要安装老版本,附上多个老版本的链接(https://gist.github.com/kupietools/2f9f085228d765da579f0f0702bec33c),最后选择4.0.0这个版本,下载好直接安装就可以了,默认安装在C盘(C盘需要留足够的空间:10GB)。
1)验证 Docker 安装
打开 CMD 或 PowerShell,运行以下命令检查 Docker 是否正常工作:
docker --version
docker-compose --version
预期输出:
Docker version 20.10.8(4.0.0 附带的 Docker Engine 版本)。
docker-compose version 1.29.2
2、安装CVAT
1)下载 CVAT 源码:
我是直接去github上下载(https://github.com/cvat-ai/cvat/releases/tag/v2.31.0),下载好源码并解压,在docker-compose.yml目录中启动CMD,输入
docker-compose up -d
(注意最新版的docker 4.38.0版本:docker compose up -d)
问题1:
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
'name' does not match any of the regexes: '^x-'
You might be seeing this error because you're using the wrong Compose file version...
services.cvat_grafana.environment.GF_AUTH_BASIC_ENABLED contains false, which is an invalid type, it should be a string, number, or a null
这个是docker-compose.yml 文件的格式与我使用的 Docker Compose 版本(Docker Desktop 4.0.0 附带的 Docker Compose 1.29.2)不兼容。
解决:
打开 docker-compose.yml 文件,将顶部有 name: cvat行删除,找到 services.cvat_grafana.environment 部分,将 GF_AUTH_BASIC_ENABLED: false 改为字符串:
services:
cvat_grafana:
environment:
- GF_AUTH_BASIC_ENABLED="false"
后面还有true也改为“true”
问题2:
ERROR: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.65.5:53: read udp 192.168.65.4:56686->192.168.65.5:53: i/o timeout
解决:
这是网络问题,我这里修改daemon.json文件,加上国内源
"registry-mirrors": [
"https://docker.m.daocloud.io"
],
改完后需要重启docker服务,docker显示绿色running。再重试 docker-compose up -d,不出意外会自动下载所需的cvat等镜像文件,下载完成后,接下来就是创建超级用户
2)创建超级用户:
docker exec -it cvat_server bash
python3 ~/manage.py createsuperuser
在cmd执行docker exec -it cvat_server bash后没有任何反应,检查容器状态(docker ps)也是正常启动的,换成直接在外围创建超级用户(docker exec -it cvat_server python3 ~/manage.py createsuperuser)也是没有任何反应,查了很久发现在OpenCV(cv2)模块的导入过程异常缓慢或卡住,导致整个 Django 初始化失败:
Traceback (most recent call last):
...
File "/home/django/cvat/apps/engine/utils.py", line 25, in <module>
import cv2 as cv
File "/opt/venv/lib/python3.10/site-packages/cv2/__init__.py", line 181, in <module>
bootstrap()
File "/opt/venv/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrap
native_module = importlib.import_module("cv2")
...
KeyboardInterrupt
最后查到原因是:OpenCV 初始化需要更多 CPU/内存
解决:
打开 Docker Desktop > “Settings” > “Resources”。
增加分配:
CPUs:至少 4(若可用)。
Memory:至少 8GB。(初始是2GB)
Swap:2GB。(初始是1GB)
点击 “Apply & Restart”。
再重试:
docker exec -it cvat_server python3 /home/django/manage.py createsuperuser
结果:
按照提示设置用户名和密码就可以了
3、打开浏览器,输入:
http://localhost:8080
在登录页面输入:
用户名:admin(或你设置的用户名)。
密码:password123(或你设置的密码)。
接下来就可以创建CVAT的任务了!