1.安装docker
可以参考一下文章ubuntu安装docker
2.安装cvat
1) 下载cvat源码
clone仓库
$ git clone https://github.com/opencv/cvat
# 官方github仓库很慢,可以切换下面的gitee镜像
$ git clone https://gitee.com/luohenyueji/cvat
切换到cvat目录
$ cd cvat
2)修改Dockerfile中默认下载python库的镜像源。
修改cavt目录中的Dockerfile
$ vim Dockerfile
找到Install requirements这项,注释默认的,添加阿里云镜像
RUN DATUMARO_HEADLESS=1 python3 -m pip install -r /tmp/requirements/${DJANGO_CONFIGURATION}.txt -i https://mirrors.aliyun.com/pypi/simple/
3)运行docker 容器
docker-compose up -d
成功是这样的
4)设置超级管理员的账号邮箱 密码
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'
cvat_server 为容器的name 可以使用docker ps -a查看
在进行第三步的过程中出现一下问题
(1)
出现这种问题是pip的版本过低 ,升级pip版本 如果还有问题就进入问题目录删除pip目录重新下载安装
(2)
RequestsDependencyWarning: urllib3 (1.26.7) or chardet (3.0.4) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn’t match a supported "
原因:requests和selenium里边的urllib3和chardet 有冲突
根据报错信息找到需要的urllib3和chardet版本
查看各自对应的版本:pip3 list
通过对比,看到urllib3的版本较高
通过命令:pip3 install “urllib3<=1.25”
安装urllib3要求版本,安装完成后通过pip3 list查看版本
配置其他机器访问服务器本地目录
(1) 如果要在cvat服务器之外访问,需要指定CVAT_HOST环境变量,最好的方法是修改docker-compose.yml并将localhost改为你的服务器ip,首先要对原始的文件进行备份
先把docker-compose.yml复制到cvat目录后命名为docker-compose.override.yml
$ cp docker-compose.yml docker-compose.override.yml
$ vim docker-compose.override.yml
(2) 将下面两个位置的localhost改为服务器ip(注意左上角cvat_server和cvat_ui名称)
最后在prots下面修改端口。
(3)
具体需要修改docker-compose.override.yml文件,一共需要添加两处。
1)在services/cvat/environment中添加CVAT_SHARE_URL项
内容为 “Mounted from {} host directory”。{}中是你要载入的数据地址,注意!!!
- 在services/cvat/volumes中添加cvat_share项
内容为- cvat_share:/home/django/share:ro
cvat:
container_name: cvat
image: openvino/cvat_server
restart: always
depends_on:
- cvat_redis
- cvat_db
- cvat_opa
environment:
DJANGO_MODWSGI_EXTRA_ARGS: ''
ALLOWED_HOSTS: '*'
CVAT_REDIS_HOST: 'cvat_redis'
CVAT_POSTGRES_HOST: 'cvat_db'
ADAPTIVE_AUTO_ANNOTATION: 'false'
CVAT_SHARE_URL: "Mounted from {/Annotation} host directory"
no_proxy: elasticsearch,kibana,logstash,nuclio,opa,${no_proxy}
labels:
- traefik.enable=true
- traefik.http.services.cvat.loadbalancer.server.port=8080
- traefik.http.routers.cvat.rule=Host(`${CVAT_HOST:-47.94.199.100}`) &&
PathPrefix(`/api/`, `/git/`, `/opencv/`, `/static/`, `/admin`, `/documentation/`, `/django-rq`)
- traefik.http.routers.cvat.entrypoints=web
volumes:
- cvat_data:/home/django/data
- cvat_keys:/home/django/keys
- cvat_logs:/home/django/logs
- cvat_share:/home/django/share:ro
networks:
- cvat
3)在最后的vloumes后面添加
volumes:
cvat_share:
driver_opts:
type: none
device: /your/data # 是你安装cvat的虚拟映射地址
o: bind
上面需要的两个地址都是本地的地址
最后执行重启命令,建立任务时就可以选择硬盘文件路径地址了。
docker-compose -f docker-compose.yml restart