Docker "Gracefully stopping" during `docker-compose up`, but not` docker-compose run --entrypoint`

When I launch the Docker container with docker-compose up , it starts as usual, but in the end the container automatically exits without anything I can say is useful in a detailed log.

When I instead run docker-compose up --entrypoint run-tests.sh with the same docker-compose.yml (with the same set of entry points) and the same Docker file, the Docker container says "Gracefully stopping" by itself and stopping all containers.

The bad behavior seems to come from running docker-compose up instead of the equivalent docker-compose run .

The container does not seem to withstand change before it shuts down. In one case, he remained for 7 minutes, sometimes in others.

Does anyone know how to fix this problem?

docker versions:

 Docker version 1.9.0, build 76d6bc9 docker-compose version: 1.5.0 docker-machine version 0.5.0 (HEAD) 

docker-compose --verbose up log:

 docker-compose --verbose --project-name monkeycore up monkeycore-autotest ... lots of startup log (let me know if you need to see this) ... # Scala Play1 Framework tests, not likely relevant monkeycore-autotest_1 | ~ MonkeyTest... PASSED 30s monkeycore-autotest_1 | ~ WhateverDataTest... PASSED 33s monkeycore-autotest_1 | ~ SauceTest... PASSED 1 min 44s Gracefully stopping... (press Ctrl+C again to force) compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=False, filters={u'label': [u'com.docker.compose.project=monkeycore', u'com.docker.compose.oneoff=False']}) compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 2 items) compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- (u'617bf28c3f7ae3779f383f7e2a96f66e552e92f755a15d07ac6b73329ba3860f') compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {u'AppArmorProfile': u'', u'Args': [u'-c', u'build.sh && play auto-test'], u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': None, u'CpuShares': 0, u'Cpuset': u'', u'Domainname': u'', u'Entrypoint': [u'bash', u'-c', u'build.sh && play auto-test'], ... compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- (u'4963e9287ed10d587a79f57a52eaf86c07c6947b2119072bd5d68a3ed0eb161e') compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {u'AppArmorProfile': u'', u'Args': [u'/usr/local/etc/redis/redis.conf'], u'Config': {u'AttachStderr': False, u'AttachStdin': False, u'AttachStdout': False, u'Cmd': None, u'CpuShares': 0, u'Cpuset': u'', u'Domainname': u'', u'Entrypoint': [u'redis-server', ... Stopping monkeycore_monkeycore-autotest_1 ... compose.cli.verbose_proxy.proxy_callable: docker stop <- (u'617bf28c3f7ae3779f383f7e2a96f66e552e92f755a15d07ac6b73329ba3860f', timeout=10) Stopping monkeycore_monkeycore-autotest_1 ... done ERROR: compose.cli.main.main: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`. 

docker-compose.yml :

 monkeycore-base: build: ../ dockerfile: "docker/monkeycore/Dockerfile" ports: - "8000:8000" - "8082:8082" - "9000:9000" stdin_open: true tty: true working_dir: "/path/to/dir" volumes: - src:dest environment: LOTS_OF_ENVIRONMENT_VARIABLES: "defined" monkeycore-autotest: extends: service: monkeycore-base links: - redis entrypoint: "run-tests.sh" redis: build: ./redis ports: - "6379:6379" 
+6
source share
2 answers

I had the same problem. There is an open problem for this in the Compose repository.

In this question, someone suggested, as a workaround, to run docker-compose up -d . Thus, the containers will work even if the connection fails. To view container logs, simply run docker-compose logs .

This proposal solved the problem at the moment, without worrying about downgrading.

+5
source

For some reason, your docker client has lost touch with your docker engine. Probably some problem in the monkeycore_monkeycore-autotest_1 container caused it.

Check if your docker machine is still running:

 $ docker machine ls 

and if your envs variables are set, dockers:

 env | grep -i "docker" 

Try rebooting your docker machine, reset your env vars

 eval "$(docker-machine env default)" ### or your machine name. 

and try running the tests manually inside the container ( docker exec -ti container-name /bin/bash ) to see what happens there.

+3
source

All Articles