I think you may have a quoting issue there: remove those inner ones. Not that it should matter in this instance. I’m not sure why you’re using “start”, which will run solr in the background, or what you expect to happen after the wait-for-solr.sh — if it all worked as you expected that would wait for solr, then exit, destroying the container.
This seems to work: version: '3.3' services: solr1: container_name: solr1 image: solr:8.4 ports: - "8981:8983” - "5005:5005” command: bash -c "solr-fg -a -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005” Or even just: version: ‘3.3' services: solr1: container_name: solr1 image: solr:8.4 ports: - "8981:8983” - "5005:5005” environment: - "SOLR_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005” The thing to look for in the logs is: solr1 | Listening for transport dt_socket at address: 5005 BTW, when looking at these sort of subtleties, it’s always useful to exec into the container, and run `tr '\000' '\n' </proc/10/cmdline` (where 10 is the pid of java in your container, doublecheck with `ps -eflwww`), to make sure it’s running with the arguments you expect it to. — Martijn > On 10 Jan 2020, at 23:42, Arnold Bronley <arnoldbron...@gmail.com> wrote: > > bash -c "solr start -a > "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" -cloud > -s /var/lib/solr -t /var/data/solr; set -x; export; wait-for-solr.sh;"