【问题标题】:How to run privileged Docker container for using systemctl如何运行特权 Docker 容器以使用 systemctl
【发布时间】:2020-10-28 00:17:29
【问题描述】:

我是 Docker 新手,我正在尝试使用 systemctl 重新启动服务。它不断失败和Failed to get D-Bus connection: Operation not permitted。我知道为了绕过这个,我需要运行一个特权 docker 容器,但是,这仍然不会产生我想要的结果。

请参阅以下我采取的步骤和涉及的文件:

Docker 命令结果

docker run --privileged testapp /sbin/init

Dockerfile

FROM openjdk:14.0.1

# Copies required files to the Linux container
COPY ./out/production/TestingApp/ /App
COPY test.sh /App
COPY expressvpn-2.5.1.1-1.x86_64.rpm /App

WORKDIR /App

RUN yum -y update
RUN yum -y install sudo && yum -y install expect && yum -y install systemd
RUN yum -y install expressvpn-2.5.1.1-1.x86_64.rpm

ENTRYPOINT ["java", "Main"]

test.sh

在我的 Main.java 中,这个 shell 脚本文件被执行,输出被打印到控制台。
sudo systemctl start expressvpn.service
expressvpn status

【问题讨论】:

  • 与 SO 无关! SO 用于编程,而您的问题是关于使用/安装/配置软件。
  • 如何?...该错误是关于不允许使用systemctl 的操作,无论是expressvpn、google 还是http,我仍然收到该错误。只是在示例中我正在尝试使用 systemctl 来启动 expressvpn 服务

标签: linux docker dockerfile init systemctl


【解决方案1】:

试试

docker run -u 0 testapp /sbin/init

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-23
    • 2015-11-15
    • 2018-03-25
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多