繁体   English   中英

如何运行特权 Docker 容器以使用 systemctl

[英]How to run privileged Docker container for using systemctl

我是 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"]

测试.sh

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

尝试

docker run -u 0 testapp /sbin/init

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM