【发布时间】: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