Closed12

CVATをローカルで立ち上げてみる

Tsuyoshi WatanabeTsuyoshi Watanabe

v2.9.2を立ち上げたいので、以下を実行

git checkout v2.9.2
CVAT_VERSION=v2.9.2 docker compose up -d
Tsuyoshi WatanabeTsuyoshi Watanabe

以下のようなエラーメッセージが出た。

services.traefik.command must be a string

ChatGPTに聞いてみたところ、docker-compose.ymlファイルの traefik サービスの設定で command セクションが正しくフォーマットされてないとのこと。

Tsuyoshi WatanabeTsuyoshi Watanabe

docker-compose.ymlを見てみる。

...
  traefik:
    image: traefik:v2.10
    container_name: traefik
    restart: always
    command:
    # labels:
    #   - traefik.enable=true
    #   - traefik.http.routers.dashboard.entrypoints=dashboard
    #   - traefik.http.routers.dashboard.service=api@internal
    #   - traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)
    ports:
      - 8080:8080
      - 8090:8090
...

services.treafik.commandの箇所が指定されていないことを確認。

原因は以下を推測する。

  • v2.9.2のバグ
  • 自分の環境のdockerコマンドのバージョンとの噛み合わせが悪い

Next Todo

  • traefikとは何か?
  • 原因を調査
    • v2.9.2のバグかな?
    • 自分の環境のdockerコマンドのバージョンとの噛み合わせが悪いかな?
Tsuyoshi WatanabeTsuyoshi Watanabe

ここで寄り道、traefikとは何か?

Traefikは、オープンソースのリバースプロキシおよびロードバランサーです。主にコンテナ化された環境での使用を目的としており、Docker、Kubernetes、Mesosなどの主要なコンテナオーケストレーションツールとの統合が容易です。Traefikを使用すると、マイクロサービスアーキテクチャでのトラフィックの管理とルーティングが簡単になります。
by ChatGPT

Tsuyoshi WatanabeTsuyoshi Watanabe

原因を調査 > v2.9.2のバグかな?

Issueを漁る。

あった。
https://github.com/opencv/cvat/issues/7153

以下抜粋。

I think the problem is just that I forgot to remove the command key in 6ae1cff.

Looks like null command values are only supported starting with Docker Compose v2.17.1.

僕は Docker Compose version v2.10.2 を使用していたため、commandが残っていたのが影響したっぽい。

Tsuyoshi WatanabeTsuyoshi Watanabe

commandをコメントアウトして再度実行してみる。

docker-compose.ymlを以下のように修正

...
  traefik:
    image: traefik:v2.10
    container_name: traefik
    restart: always
    # command:
    # labels:
    #   - traefik.enable=true
    #   - traefik.http.routers.dashboard.entrypoints=dashboard
    #   - traefik.http.routers.dashboard.service=api@internal
    #   - traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)
    ports:
      - 8080:8080
      - 8090:8090
...

以下を実行

CVAT_VERSION="v2.9.2" docker compose up -d

全containerが立ち上がっていることを確認。

このスクラップは4ヶ月前にクローズされました