与docker run --init等效的docker-compose是什么?

dug*_*ous 8 docker docker-compose

根据https://github.com/krallin/tini#using-tini的说法,tini内置在docker中,可以通过将--init标志传递给来使用docker run。就我而言,我正在使用docker-compose,而不docker run直接调用。如何传递此标志?

小智 7

这是Docker Docs 中的一个示例:

version: "2.4"
services:
  web:
    image: alpine:latest
    init: true
Run Code Online (Sandbox Code Playgroud)


whi*_*s11 5

如果您使用的是版本2 docker-compose,则将调用配置参数init

例:

version: '2.2'
services:
  web:
    image: alpine:latest
    init: /usr/libexec/docker-init
Run Code Online (Sandbox Code Playgroud)

请参阅此处以获取更多详细信息:https : //docs.docker.com/compose/compose-file/compose-file-v2/#init

如果您使用的是docker-compose版本3,则显然已将其删除并在3.7版本中返回。请参考以下票证:https : //github.com/docker/docker.github.io/issues/3149

  • 从 3.7 版本开始,它又回来了。只需为适当的服务指定“init: true”即可。(需要 Docker 18.06) (5认同)