RUnit does not stop docker-compose's containers

I would like to have a RUnit service to supervise a set of containers launched by docker-compose tool, here’s my the runit script:

In /etc/sv/app/run

  • How to get IP address of container in docker-compse
  • How to access web app live inside docker in docker
  • Submit docker which contains fat jar to Spark cluster
  • How to link docker containers on Container VM with an manifest?
  • Heroku run Docker image with port parameter
  • running example server, access web page status failed
  • #!/bin/bash
    exec 2>&1
    
    APP_HOME=/home/myapp
    
    source $APP_HOME/env.sh
    exec docker-compose -f $APP_HOME/docker-compose.yml up
    

    Here’s what I have then:

    • sv start app – launches the docker-compose thing just fine
    • sv stop app – stops docker-compose process itself but for unknown reason it leaves the containers running

    Is there any chance to have the stop command to stop containers as well? I thought that is what docker-compose should do when it gets stopped by RUnit.

  • What to do in order to use SQL in docker container deployed in cloud?
  • how to migrate docker private registry to a new server
  • JDBC process seems stopped when running in docker container
  • Boot2Docke init: boot2docker init error in run: Failed to initialize machine “boot2docker-vm”: exit status 1
  • Airflow: Could not send worker log to S3
  • Dockerfile created for JBoss with MySQL image
  • One Solution collect form web for “RUnit does not stop docker-compose's containers”

    I’m not familiar with docker (yet) but I have familiarity with runit.

    When you issue sv stop app you are actually telling runsvdir to signal the runsv for your docker launch to tear down the process. If you need something to signal the container to shut down, it won’t happen because runsv will haul off and kill any child processes that are attached. You may wish to read up on ./finish scripts, which are tasked with cleaning up things.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.