Docker 撰写推送失败,JSON 输入意外结束:“”

Abd*_*man 1 docker digital-ocean docker-registry docker-compose

我已经在 DigitalOcean 设置了 docker 注册表来部署我的 django 应用程序。我已经安装doctl并设置了 API 凭据。如果我运行命令为: doctl auth list 我可以看到我的命令auth是当前命令,它具有ReadWrite权限。但现在,当我尝试运行命令时:

docker-compose -f docker-compose.staging.yml push
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

错误:解析 HTTP 400 响应正文时出错:JSON 输入意外结束:“”

这是我的docker-compose.staging.yml文件:

version: '3.8'

services:
  web:
    build:
      context: ./app
      dockerfile: Dockerfile.prod
    image: registry.digitalocean.com/pythonist-do:web
    command: gunicorn Pythonist.wsgi:application --bind 0.0.0.0:8000
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    expose:
      - 8000
    env_file:
      - ./.env.staging
  nginx-proxy:
    container_name: nginx-proxy
    build: nginx
    image: registry.digitalocean.com/pythonist-do:nginx-proxy
    restart: always
    ports:
      - 443:443
      - 80:80
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
      - certs:/etc/nginx/certs
      - html:/usr/share/nginx/html
      - vhost:/etc/nginx/vhost.d
      - /var/run/docker.sock:/tmp/docker.sock:ro
    depends_on:
      - web
  nginx-proxy-letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    env_file:
      - ./.env.staging.proxy-companion
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - certs:/etc/nginx/certs
      - html:/usr/share/nginx/html
      - vhost:/etc/nginx/vhost.d
      - acme:/etc/acme.sh
    depends_on:
      - nginx-proxy

volumes:
  static_volume:
  media_volume:
  certs:
  html:
  vhost:
  acme:
Run Code Online (Sandbox Code Playgroud)

小智 15

您需要更改图像标签

代替

registry.digitalocean.com/registry-name:标签

用这个

registry.digitalocean.com/registry-name/image-name:tag