49

According to https://github.com/krallin/tini#using-tini, tini is built into docker, and can be used by passing the --init flag to docker run. In my case I'm using docker-compose and don't invoke docker run directly. How can I pass this flag?

duggulous
  • 2,427
  • 3
  • 23
  • 40

2 Answers2

37

Here is an example from Docker Docs:

version: "2.4"
services:
  web:
    image: alpine:latest
    init: true
David Buck
  • 3,752
  • 35
  • 31
  • 35
Felix Baron
  • 383
  • 4
  • 7
30

If you are using version 2 of docker-compose, the configuration parameter is called init.

Example:

version: '2.2'
services:
  web:
    image: alpine:latest
    init: /usr/libexec/docker-init

Please see here for more details: https://docs.docker.com/compose/compose-file/compose-file-v2/#init

If you're using docker-compose version 3, apparently this has been removed and returned in version 3.7. Please refer to the following ticket: https://github.com/docker/docker.github.io/issues/3149

romash1408
  • 137
  • 1
  • 5
whites11
  • 12,008
  • 3
  • 36
  • 53
  • 1
    Ah, ok. It was removed from version 3 but from that ticket it sounds like it is being worked on. At the moment, the takeaway is: "While the --init option is not yet supported for services, you can add the tini binary to your images (see the README for tini)." – duggulous May 15 '18 at 19:14
  • 19
    As of version 3.7, it's back. Just specify `init: true` for the appropriate service(s). (Requires Docker 18.06) – Steve Folly Aug 17 '20 at 10:51
  • Do you know how to set the verbose mode for this service ? is it via a global docker verbose setting i cant seem to be able to find ? – geriwald Sep 13 '22 at 11:58