Envoy: Front-End Proxy Example start_service.sh not found

Created on 25 Jul 2019  路  5Comments  路  Source: envoyproxy/envoy

Title: Front-End Proxy example services do not start due to /usr/local/bin/start_service.sh: not found

Description:

I am following the example here but when I get to the docker-compose ps validation step, both of the services report an exit code of 127. I then tried docker-compose logs which reports (amongst many other things):
service1_1 | /bin/sh: 1: /usr/local/bin/start_service.sh: not found
service2_1 | /bin/sh: 1: /usr/local/bin/start_service.sh: not found

Running off of master (46df72abb) and no changes from what I pulled down.

I did validate that if I try running CAT /usr/local/bin/start_service.sh it does show up as expected.

[optional Relevant Links:]

  • Similar to this issue, but different root cause.
  • I saw a SO answer regarding similar behavior, but I tried switching Dockerfile-service to use ubuntu, but no change in end behavior.
question

Most helpful comment

Ok, I figured it out and I should have known: it was another case of line-endings screwing things up. I changed the line endings for start_service.sh to be LF from CRLF and then everything worked.

All 5 comments

Hum, interesting, I didn't experience this in my local.

$ docker-compose version
docker-compose version 1.23.2, build 1110ad01
docker-py version: 3.6.0
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.1.0h  27 Mar 2018
$ docker version
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:39 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:20:28 2019
  OS/Arch:          linux/amd64
  Experimental:     false

@dio I have the exact same versions of compose and docker

Something else I tried:

  1. I modified Dockerfile-service to remove the final ENTRYPOINT
  2. Built and ran the modified Dockerfile, opening bash
  3. Executed /bin/sh /usr/local/bin/start_service.sh

bash-5.0# /bin/sh /usr/local/bin/start_service.sh
: not foundbin/start_service.sh: line 2:
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:237] initializing epoch 0 (hot restart version=11.104)
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:239] statically linked extensions:
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:241] access_loggers: envoy.file_access_log,envoy.http_grpc_access_log
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:244] filters.http: envoy.buffer,envoy.cors,envoy.csrf,envoy.ext_authz,envoy.fault,envoy.filters.http.dynamic_forward_proxy,envoy.filters.http.grpc_http1_reverse_bridge,envoy.filters.http.header_to_metadata,envoy.filters.http.jwt_authn,envoy.filters.http.original_src,envoy.filters.http.rbac,envoy.filters.http.tap,envoy.grpc_http1_bridge,envoy.grpc_json_transcoder,envoy.grpc_web,envoy.gzip,envoy.health_check,envoy.http_dynamo_filter,envoy.ip_tagging,envoy.lua,envoy.rate_limit,envoy.router,envoy.squash
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:247] filters.listener: envoy.listener.http_inspector,envoy.listener.original_dst,envoy.listener.original_src,envoy.listener.proxy_protocol,envoy.listener.tls_inspector
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:250] filters.network: envoy.client_ssl_auth,envoy.echo,envoy.ext_authz,envoy.filters.network.dubbo_proxy,envoy.filters.network.mysql_proxy,envoy.filters.network.rbac,envoy.filters.network.sni_cluster,envoy.filters.network.thrift_proxy,envoy.filters.network.zookeeper_proxy,envoy.http_connection_manager,envoy.mongo_proxy,envoy.ratelimit,envoy.redis_proxy,envoy.tcp_proxy
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:252] stat_sinks: envoy.dog_statsd,envoy.metrics_service,envoy.stat_sinks.hystrix,envoy.statsd
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:254] tracers: envoy.dynamic.ot,envoy.lightstep,envoy.tracers.datadog,envoy.tracers.opencensus,envoy.zipkin
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:257] transport_sockets.downstream: envoy.transport_sockets.alts,envoy.transport_sockets.tap,raw_buffer,tls
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:260] transport_sockets.upstream: envoy.transport_sockets.alts,envoy.transport_sockets.tap,raw_buffer,tls
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:266] buffer implementation: old (libevent)
[2019-07-25 14:07:13.527][9][critical][main] [source/server/server.cc:92] error initializing configuration '/etc/service-envoy.yaml': Invalid path: /etc/service-envoy.yaml
[2019-07-25 14:07:13.527][9][info][main] [source/server/server.cc:562] exiting
Invalid path: /etc/service-envoy.yaml
bash-5.0# * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)

Ok, I figured it out and I should have known: it was another case of line-endings screwing things up. I changed the line endings for start_service.sh to be LF from CRLF and then everything worked.

I had this problem too. I just changed ADD commands and replace them with COPY

Was this page helpful?
0 / 5 - 0 ratings