Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo App fails to start on macOS M1, Docker Desktop #1660

Closed
mviitane opened this issue Jul 5, 2024 · 3 comments
Closed

Demo App fails to start on macOS M1, Docker Desktop #1660

mviitane opened this issue Jul 5, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@mviitane
Copy link
Member

mviitane commented Jul 5, 2024

Bug Report

Which version of the demo you are using?

main/latest
commit 9dad087 (HEAD -> main, upstream/main)

Also tried #1651
commit 8a1d405 (HEAD -> chore.multi-platform-builds)

Symptom

frontend, frontendproxy, paymentservice, and quoteservice fail to start.

The problem occurs in my macOS M1 with the latest Docker Desktop. Everything works fine on Ubuntu with x64.

What is the expected behavior?

All services start.

Reproduce

docker system prune -a
docker compose build
docker compose up

Additional Context

$ docker compose ps
NAME                      IMAGE                                                      COMMAND                  SERVICE                 CREATED         STATUS                          PORTS
accounting-service        ghcr.io/open-telemetry/demo:latest-accountingservice       "./instrument.sh dot…"   accountingservice       3 minutes ago   Up 3 minutes                    
ad-service                ghcr.io/open-telemetry/demo:latest-adservice               "./build/install/ope…"   adservice               3 minutes ago   Up 3 minutes                    0.0.0.0:53565->9555/tcp
cart-service              ghcr.io/open-telemetry/demo:latest-cartservice             "./cartservice"          cartservice             3 minutes ago   Up 3 minutes                    0.0.0.0:53572->7070/tcp
checkout-service          ghcr.io/open-telemetry/demo:latest-checkoutservice         "./checkoutservice"      checkoutservice         3 minutes ago   Up 3 minutes                    0.0.0.0:53598->5050/tcp
currency-service          ghcr.io/open-telemetry/demo:latest-currencyservice         "/bin/sh -c './usr/l…"   currencyservice         3 minutes ago   Up 3 minutes                    0.0.0.0:53570->7001/tcp
email-service             ghcr.io/open-telemetry/demo:latest-emailservice            "bundle exec ruby em…"   emailservice            3 minutes ago   Up 3 minutes                    0.0.0.0:53568->6060/tcp
flagd                     ghcr.io/open-feature/flagd:v0.10.2                         "/flagd-build start …"   flagd                   3 minutes ago   Up 3 minutes                    0.0.0.0:53558->8013/tcp
frauddetection-service    ghcr.io/open-telemetry/demo:latest-frauddetectionservice   "java -jar frauddete…"   frauddetectionservice   3 minutes ago   Up 3 minutes                    
frontend                  ghcr.io/open-telemetry/demo:latest-frontend                "/bin/sh -c 'npm sta…"   frontend                3 minutes ago   Restarting (1) 22 seconds ago   
frontend-proxy            ghcr.io/open-telemetry/demo:latest-frontendproxy           "/bin/sh -c 'envsubs…"   frontendproxy           3 minutes ago   Restarting (2) 24 seconds ago   
grafana                   grafana/grafana:10.4.3                                     "/run.sh"                grafana                 3 minutes ago   Up 3 minutes                    0.0.0.0:53561->3000/tcp
imageprovider             ghcr.io/open-telemetry/demo:latest-imageprovider           "/docker-entrypoint.…"   imageprovider           3 minutes ago   Up 3 minutes                    80/tcp, 0.0.0.0:53574->8081/tcp
jaeger                    jaegertracing/all-in-one:1.57                              "/go/bin/all-in-one-…"   jaeger                  3 minutes ago   Up 3 minutes                    4318/tcp, 5775/udp, 5778/tcp, 9411/tcp, 14250/tcp, 14268/tcp, 6831-6832/udp, 0.0.0.0:53559->4317/tcp, 0.0.0.0:53560->16686/tcp
kafka                     ghcr.io/open-telemetry/demo:latest-kafka                   "/__cacert_entrypoin…"   kafka                   3 minutes ago   Up 3 minutes (healthy)          9092/tcp
load-generator            ghcr.io/open-telemetry/demo:latest-loadgenerator           "/bin/sh -c 'locust …"   loadgenerator           3 minutes ago   Up 3 minutes                    0.0.0.0:53600->8089/tcp
opensearch                opensearchproject/opensearch:2.14.0                        "./opensearch-docker…"   opensearch              3 minutes ago   Up 3 minutes                    9300/tcp, 9600/tcp, 9650/tcp, 0.0.0.0:53556->9200/tcp
otel-col                  otel/opentelemetry-collector-contrib:0.102.1               "/otelcol-contrib --…"   otelcol                 3 minutes ago   Up 3 minutes                    55678-55679/tcp, 0.0.0.0:53562->4317/tcp, 0.0.0.0:53563->4318/tcp
payment-service           ghcr.io/open-telemetry/demo:latest-paymentservice          "npm run start"          paymentservice          3 minutes ago   Restarting (1) 35 seconds ago   
product-catalog-service   ghcr.io/open-telemetry/demo:latest-productcatalogservice   "./productcatalogser…"   productcatalogservice   3 minutes ago   Up 3 minutes                    0.0.0.0:53566->3550/tcp
prometheus                quay.io/prometheus/prometheus:v2.52.0                      "/bin/prometheus --w…"   prometheus              3 minutes ago   Up 3 minutes                    0.0.0.0:9090->9090/tcp
quote-service             ghcr.io/open-telemetry/demo:latest-quoteservice            "docker-php-entrypoi…"   quoteservice            3 minutes ago   Restarting (1) 39 seconds ago   
recommendation-service    ghcr.io/open-telemetry/demo:latest-recommendationservice   "opentelemetry-instr…"   recommendationservice   3 minutes ago   Up 3 minutes                    0.0.0.0:53573->9001/tcp
shipping-service          ghcr.io/open-telemetry/demo:latest-shippingservice         "/app/shippingservice"   shippingservice         3 minutes ago   Up 3 minutes                    0.0.0.0:53569->50050/tcp
valkey-cart               valkey/valkey:7.2-alpine                                   "docker-entrypoint.s…"   valkey-cart             3 minutes ago   Up 3 minutes                    0.0.0.0:53557->6379/tcp

$ docker compose logs frontend
frontend  | 
frontend  | > [email protected] start
frontend  | > node --require ./Instrumentation.js server.js
frontend  | 
frontend  | node:internal/fs/utils:356
frontend  |     throw err;
frontend  |     ^
frontend  | 
frontend  | Error: EACCES: permission denied, open '/app/Instrumentation.js'
frontend  |     at Object.openSync (node:fs:596:3)
frontend  |     at Object.readFileSync (node:fs:464:35)
frontend  |     at Module._extensions..js (node:internal/modules/cjs/loader:1385:18)
frontend  |     at Module.load (node:internal/modules/cjs/loader:1203:32)
frontend  |     at Module._load (node:internal/modules/cjs/loader:1019:12)
frontend  |     at internalRequire (node:internal/modules/cjs/loader:174:19)
frontend  |     at Module._preloadModules (node:internal/modules/cjs/loader:1569:5)
frontend  |     at loadPreloadModules (node:internal/process/pre_execution:628:5)
frontend  |     at setupUserModules (node:internal/process/pre_execution:154:3)
frontend  |     at prepareExecution (node:internal/process/pre_execution:114:5) {
frontend  |   errno: -13,
frontend  |   syscall: 'open',
frontend  |   code: 'EACCES',
frontend  |   path: '/app/Instrumentation.js'
frontend  | }

$ docker compose logs quoteservice
quote-service  | Could not open input file: public/index.php
quote-service  | Could not open input file: public/index.php
quote-service  | Could not open input file: public/index.php
@mviitane mviitane added the bug Something isn't working label Jul 5, 2024
@julianocosta89
Copy link
Member

Hey @mviitane, I've just tested and everything is actually working:

❯ docker compose logs frontend
frontend  | 
frontend  | > [email protected] start
frontend  | > node --require ./Instrumentation.js server.js
frontend  | 
frontend  |   ▲ Next.js 13.5.1
frontend  |   - Local:        http://d61ec2e1ba4d:8080
frontend  |   - Network:      http://172.18.0.23:8080
frontend  | 
frontend  |  ✓ Ready in 202ms
❯ docker compose logs quoteservice
quote-service  | Listening on: 0.0.0.0:8090
quote-service  | [2024-07-08 07:55:00+00:00] "POST /getquote HTTP/1.1" 200 5 
quote-service  | [2024-07-08 07:55:23+00:00] "POST /getquote HTTP/1.1" 200 3 
quote-service  | [2024-07-08 07:55:35+00:00] "POST /getquote HTTP/1.1" 200 5 
quote-service  | [2024-07-08 07:56:08+00:00] "POST /getquote HTTP/1.1" 200 6 
quote-service  | [2024-07-08 07:56:10+00:00] "POST /getquote HTTP/1.1" 200 3 
quote-service  | [2024-07-08 07:56:35+00:00] "POST /getquote HTTP/1.1" 200 5

@julianocosta89
Copy link
Member

Any chance you have something going on with your branch?

@mviitane
Copy link
Member Author

mviitane commented Jul 8, 2024

Thanks for testing this! Then it must be something in my environment. I only have changes in otelcol-config-extras.yml, but maybe there's something else.

@mviitane mviitane closed this as not planned Won't fix, can't repro, duplicate, stale Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants