我已经为我的spring boot应用程序创建了一个Docker镜像。我无法在Docker容器中运行systemctl命令。这是我执行以下命令时得到的结果
systemctl daemon reload :-
Failed to connect to bus: No such file or directory构建Docker镜像所遵循的步骤:
1) docker build --rm -t <IMAGE_NAME> .
2) docker-compose up
3) docker exec -it <CONTAINER_NAME> bash
当我使用以下命令启动服务时:
service <SERVICE_NAME> start
我得到了不被认可的服务。如何在docker内部执行服务?
发布于 2020-04-03 02:53:55
如果您想重用现有的systemd服务描述符,那么您需要运行systemd作为入口点,或者您可以使用像docker-systemctl-replacement这样的包装器脚本,它既是服务管理器又是初始化守护进程。
发布于 2020-04-02 13:44:16
正如David评论的那样,在docker环境中通常不会使用像systemctl这样的流程管理器。相反,您可以使应用程序成为映像的主要入口点。有关在https://spring.io/guides/gs/spring-boot-docker/#_containerize_it中将其与docker一起使用的更多信息,请参阅Spring文档。
关键是在您的dockerfile中有类似这样的内容,而不是systemctl daemon reload
ENTRYPOINT ["java","-jar","/app.jar"]https://stackoverflow.com/questions/60928901
复制相似问题