Netbox Docker -服务,netbox-household.depends_on包含无效类型,它应该是数组

qzlgjiam  于 2023-02-21  发布在  Docker
关注(0)|答案(1)|浏览(385)

操作系统:Debian Bullseye Docker版本:20.10.5+ dfsg 1,构建版本55 c4 c88对接器-合成版本:1.25.0,构建未知的Docker-Py版本:4.1.0 CPython版本:3.9.2 OpenSSL版本:第1.1.1期2022年3月15日
尝试使用Docker合成设置Netbox,并在尝试docker-compose pull命令后遇到以下错误。

ERROR: The Compose file './docker-compose.yml' is invalid because:
services.netbox-housekeeping.depends_on contains an invalid type, it should be an array
services.netbox-worker.depends_on contains an invalid type, it should be an array

下面是我的docker-compose文件:

version: "3.4"
services:
  netbox: &netbox
    image: netboxcommunity/netbox:${VERSION-v3.4-2.4.0}
    depends_on:
    - postgres
    - redis
    - redis-cache
    env_file: env/netbox.env
    user: "unit:root"
    healthcheck:
      start_period: 60s
      timeout: 3s
      interval: 15s
      test: "curl -f http://localhost:8080/api/ || exit 1"
    volumes:
    - ./configuration:/etc/netbox/config:z,ro
    - ./reports:/etc/netbox/reports:z,ro
    - ./scripts:/etc/netbox/scripts:z,ro
    - netbox-media-files:/opt/netbox/netbox/media:z
  netbox-worker:
    <<: *netbox
    depends_on:
      netbox:
        condition: service_healthy
    command:
    - /opt/netbox/venv/bin/python
    - /opt/netbox/netbox/manage.py
    - rqworker
    healthcheck:
      start_period: 20s
      timeout: 3s
      interval: 15s
      test: "ps -aux | grep -v grep | grep -q rqworker || exit 1"
  netbox-housekeeping:
    <<: *netbox
    depends_on:
      netbox:
        condition: service_healthy
    command:
    - /opt/netbox/housekeeping.sh
    healthcheck:
      start_period: 20s
      timeout: 3s
      interval: 15s
      test: "ps -aux | grep -v grep | grep -q housekeeping || exit 1"

  # postgres
  postgres:
    image: postgres:15-alpine
    env_file: env/postgres.env
    volumes:
    - netbox-postgres-data:/var/lib/postgresql/data

  # redis
  redis:
    image: redis:7-alpine
    command:
    - sh
    - -c # this is to evaluate the $REDIS_PASSWORD from the env
    - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
    env_file: env/redis.env
    volumes:
    - netbox-redis-data:/data
  redis-cache:
    image: redis:7-alpine
    command:
    - sh
    - -c # this is to evaluate the $REDIS_PASSWORD from the env
    - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
    env_file: env/redis-cache.env
    volumes:
    - netbox-redis-cache-data:/data

volumes:
  netbox-media-files:
    driver: local
  netbox-postgres-data:
    driver: local
  netbox-redis-data:
    driver: local
  netbox-redis-cache-data:
    driver: local

我一直使用下面的文章作为指导:https://computingforgeeks.com/how-to-run-netbox-ipam-tool-in-docker-containers/

z2acfund

z2acfund1#

我在Ubuntu 20.04.5上也遇到了同样的问题,我的解决方案是删除docker安装,然后使用docker存储库安装它。https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository
我认为错误是由于旧的docker编写版本。

相关问题