Remote build fails: no matching manifest for unknown in the manifest list entries

Hello,

I’m trying to push my application to the cloud builder. Everything builds fine, but my mongo db service is not created, because there’s no matching manifest for unknown in the manifest list entries
Therefore it is not being deployed.

This is very weird and I can not imagine that it has to do with my configuration, because I did not touch the mongo db service and it was working fine before. The mongo service in the docker-compose.yml is as simple as this:

mongo:
    image: mongo
    restart: always

Is there a problem with the docker registry, not being able to find the image?

Any help or info about this is much appreciated.

Best,
eb

Hi,

Can you please share with us your docker-compose file? Have you made any changes to the compose file recently? Looks like our builder can’t find correct manifest/architecture for the mongo image?

Hello,

here is the full docker-compose file (with sensitive info changed):

version: '2'

services:
  mongo:
    image: mongo
    restart: always

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    depends_on:
      - mongo

  database-backend:
    build: ./database-backend
    image: my-database-backend
    expose:
      - 5000
    depends_on:
      - mongo

  realtime-backend:
    build: ./realtime-backend
    image: my-realtime-backend
    expose:
      - 3000
    volumes:
      - "webdata:/usr/src/app/static"
    depends_on:
      - mongo

  sensor-hub:
    build: ./sensor-hub
    image: my-sensor-hub
    network_mode: host
    environment:
      - DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket
    command: bash run.sh localhost 80
    restart: always
    privileged: true
    labels:
      io.balena.features.dbus: 1
    volumes:
      - bluetoothcache:/var/cache/bluetooth
    depends_on:
      - nginx

  nginx:
    build: ./nginx
    image: my-nginx
    ports:
      - 80:80
    volumes:
      - "webdata:/www/static:ro"
    depends_on:
      - realtime-backend
      - database-backend

volumes:
  webdata:
  bluetoothcache:

As our builders don’t support multi-arch image yet so the error message doesn’t make sense here. Can you please try again and send us all the build logs? Or you can try to specify the architecture in the image name like amd64/mongo and try again?

Hi,

I tried to specify the architecture with amd64/mongo earlier this day, unfortunately with the same result. :frowning:

I was trying to upload right now, but now the result is a little different:

# there is some build messages before the error (nginx service and sensor-hub, but everything looks alright there)
[database-backend]  error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/55/<long hash>/data?verify=<verify value>: dial tcp: lookup production.cloudflare.docker.com on 147.75.207.208:53: server misbehaving
[nginx]             Using cache
[nginx]              ---> 74d552c1b23a
[nginx]             Successfully built 74d552c1b23a
[realtime-backend]  error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/80/<long hash>/data?verify=<verify value>: dial tcp: lookup production.cloudflare.docker.com on 147.75.207.208:53: server misbehaving
[nginx]             Successfully tagged my-nginx:latest
###################################################################
# I am omitting the build output from the sensor-hub service here #
# because it's all as usual                                       #
###################################################################
[sensor-hub]        Successfully built ece54afb1f93
[sensor-hub]        Successfully tagged my-sensor-hub:latest
[mongo]             [>                                                        ] 0%
[Info]              Uploading images
[Success]           Successfully uploaded images
[Error]             Some services failed to build:
[Error]               Service: mongo
[Error]                 Error: no matching manifest for unknown in the manifest list entries
[Error]               Service: mongo-express
[Error]                 Error: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/f9/<long hash>/data?verify=<verify value>: dial tcp: lookup production.cloudflare.docker.com on 147.75.207.208:53: server misbehaving
[Error]               Service: database-backend
[Error]                 Error: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/55/<long hash>/data?verify=<verify value>: dial tcp: lookup production.cloudflare.docker.com on 147.75.207.208:53: server misbehaving
[Error]               Service: realtime-backend
[Error]                 Error: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/80/<long hash>/data?verify=<verify value here>: dial tcp: lookup production.cloudflare.docker.com on 147.75.207.208:53: server misbehaving
[Info]              Built on arm03
[Error]             Not deploying release.
Remote build failed

Additional information may be available by setting a DEBUG=1 environment
variable: "set DEBUG=1" on a Windows command prompt, or "export DEBUG=1"
on Linux or macOS.

If you need help, don't hesitate in contacting our support forums at
https://forums.balena.io

For CLI bug reports or feature requests, have a look at the GitHub issues or
create a new one at: https://github.com/balena-io/balena-cli/issues/

I mean the mongo error is mysterious, but the other errors are pretty clear about the server’s missing manners. :wink:

I Hope that helps. Thank you for the response.

EDIT 1:
After trying it again, the new errors disappeared. Now the behavior is the same as this morning. Everything builds, except mongo db.

Best,
eb

Here’s a compressed version of the current build log:

[Info]              Starting build for MyApp, user myusername
[Info]              Dashboard link: https://dashboard.balena-cloud.com/apps/<appid>/devices
[Info]              Building on arm03
[Info]              Pulling previous images for caching purposes...
[sensor-hub]        Step 1/14 : FROM python:3.7-stretch AS builder
[nginx]             Step 1/5 : FROM nginx
[database-backend]  Step 1/12 : FROM node:10 AS builder
[realtime-backend]  Step 1/11 : FROM balenalib/aarch64-debian-node:11.15-build AS builder
[sensor-hub]         ---> 5f0d8c9d639c
# omitting sensor-hub build steps
[sensor-hub]        Step 8/14 : FROM balenalib/aarch64-debian-python:3.7-stretch-run
[nginx]              ---> 551f0614ec69
# omitting nginx build steps
[nginx]             Successfully built 74d552c1b23a
[nginx]             Successfully tagged my-nginx:latest
[sensor-hub]         ---> b952f7c8c0ee
# omitting sensor-hub build steps
[sensor-hub]        Successfully built ece54afb1f93
[sensor-hub]        Successfully tagged jymmin-sensor-hub:latest
[realtime-backend]   ---> 80fec6ebe982
# omitting build steps of realtime-backend
[realtime-backend]  [2/4] Fetching packages...
[database-backend]   ---> 55daeea882fb
[realtime-backend]   ---> 80fec6ebe982
[realtime-backend]  Step 2/11 : WORKDIR /usr/src/app
[realtime-backend]   ---> Running in 137498bdb0eb
[realtime-backend]  Removing intermediate container 137498bdb0eb
[realtime-backend]   ---> 37b0ca8da0a4
[realtime-backend]  Step 3/11 : COPY package.json ./
[realtime-backend]   ---> 27af665a25cd
[realtime-backend]  Step 4/11 : COPY yarn.lock ./
[realtime-backend]   ---> 9ffbf037b089
[realtime-backend]  Step 5/11 : RUN yarn install
[realtime-backend]   ---> Running in 7dbfaeb5f2de
[realtime-backend]  yarn install v1.19.1
[realtime-backend]  [1/4] Resolving packages...
[realtime-backend]  [2/4] Fetching packages...
[database-backend]   ---> 55daeea882fb
[database-backend]  Step 2/12 : WORKDIR /usr/src/app
[database-backend]   ---> Running in e2d7c0869c7a
[database-backend]  Removing intermediate container e2d7c0869c7a
[database-backend]   ---> f8ade8f5ff4b
[database-backend]  Step 3/12 : COPY package*.json ./
[database-backend]   ---> a100ba921441
[database-backend]  Step 4/12 : RUN npm ci --only=production # for some reason this command fails now :-\
[database-backend]   ---> Running in 3e500432101d
[realtime-backend]  info There appears to be trouble with your network connection. Retrying...
# omitting build steps of realtime-backend
[realtime-backend]   ---> Running in 3aefc54f7ec5
[realtime-backend]  Removing intermediate container 3aefc54f7ec5
[realtime-backend]   ---> db1865bca8b3
[realtime-backend]  Successfully built db1865bca8b3
[realtime-backend]  Successfully tagged jymmin-realtime-backend:latest
[Info]              Still Working...
[Info]              Still Working...
[Info]              Still Working...
[database-backend]  npm ERR! code
[database-backend]   EAI_AGAIN
[database-backend]  
[database-backend]  npm 
[database-backend]  ERR!
[database-backend]   
[database-backend]  errno EAI_AGAIN
[database-backend]  
[database-backend]  npm 
[database-backend]  ERR!
[database-backend]   request to https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
[database-backend]  
[database-backend]  
[database-backend]  
[database-backend]  npm 
[database-backend]  ERR!
[database-backend]   A complete log of this run can be found in:
[database-backend]  npm
[database-backend]   ERR!
[database-backend]       /root/.npm/_logs/2019-12-17T20_25_06_637Z-debug.log
[database-backend]  
[database-backend]  Removing intermediate container 3e500432101d
[database-backend]  The command '/bin/sh -c npm ci --only=production' returned a non-zero code: 1
[mongo]             [>                                                        ] 0%
[Info]              Uploading images
[Success]           Successfully uploaded images
[Error]             Some services failed to build:
[Error]               Service: mongo
[Error]                 Error: no matching manifest for unknown in the manifest list entries
[Error]               Service: database-backend
[Error]                 Error: The command '/bin/sh -c npm ci --only=production' returned a non-zero code: 1
[Info]              Built on arm03
[Error]             Not deploying release.
Remote build failed

mongo is just hanging at 0% without any progress.

EDIT:
When I use aarch64/mongo I get: Error: pull access denied for aarch64/mongo, repository does not exist or may require 'docker login'

Solved it!
I changed mongo to arm64v8/mongo

Now it builds. :slight_smile:
Although I’m still curious how it worked before. And why it failed.
Maybe mongo’s image naming pattern is new?

Best,
eb

Yes, it does seem that the naming convention has been changed. Glad to hear that it is now working though!