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.
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.
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.
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!