V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
euvkzx
V2EX  ›  Docker

如何在 debian11 等新系统中 docker 容器内运行 systemctl

  •  
  •   euvkzx · 2022-02-17 15:05:31 +08:00 · 1181 次点击
    这是一个创建于 1009 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在新的系统 debian11 或者 ubuntu21.10 都无法在容器内运行 systemctl, 报Failed to get d-bus connection: no such file or directory, 在 centos7 等旧系统是没这个问题的:
    docker run -it -d --name trojan --net=host --restart=always --privileged jrohy/trojan init

    试了下docker-systemctl-replacement 这个项目用来替换掉镜像内置的 systemctl 命令, 又会出现 no escaped character 报错(Jrohy/trojan(#610))。有没有遇到过类似情况的如何处理

    2 条回复    2022-02-21 16:06:02 +08:00
    euvkzx
        1
    euvkzx  
    OP
       2022-02-17 16:36:58 +08:00
    可以了,用 https://github.com/gdraheim/docker-systemctl-replacement 这个项目就行,之前报的 no escaped character 错是因为 service 文件写得有问题才报的
    julyclyde
        2
    julyclyde  
       2022-02-21 16:06:02 +08:00
    首先,不要在容器里运行整套操作系统

    其次,它需要 sys cap 权限
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2771 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:40 · PVG 10:40 · LAX 18:40 · JFK 21:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.