You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker run --init在docker-compose中的等效配置方式是什么?

在Docker Compose中启用Tini(对应docker run --init参数)

嘿,这个问题我之前也碰到过,其实在Docker Compose里配置Tini超简单,有两种实用的方式,看你的场景选就行:

方法一:使用init配置字段(推荐)

从Docker Compose 3.7版本开始,官方提供了直接启用Tini的配置项——在服务的配置里添加init: true,这完全等价于在docker run命令中添加--init参数。

给你一个完整的示例配置:

version: '3.8'
services:
  my-app:
    image: my-app-image:latest
    init: true  # 这一行就是启用Tini的核心配置
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data

这个配置会让Docker自动为你的容器注入Tini作为PID 1进程,帮你处理僵尸进程、信号转发这些容器里常见的问题,省心又规范。

方法二:手动指定Tini作为入口点(适配旧版本Compose)

如果你的Docker Compose版本低于3.7,不支持init字段,那可以手动把Tini设置为容器的入口点。

现在大部分官方镜像(比如Alpine、Ubuntu的新版本)已经内置了Tini,直接这么配置就行:

version: '3'
services:
  my-app:
    image: my-app-image:latest
    entrypoint: ["tini", "--"]
    command: ["npm", "start"]  # 替换成你容器原本要执行的命令
    # 其他配置项

如果你的镜像里没有内置Tini,可能需要先在Dockerfile中安装它,但现在官方Docker已经默认内置了,所以第一种方法是首选。

内容的提问来源于stack exchange,提问作者duggulous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:01:00