在pod中运行systemctl命令时出现访问被拒绝错误。
无论何时尝试启动任何服务,例如pod中的MySQL或tomcat服务器,都会出现访问被拒绝的错误。
有没有什么方法可以在pod中运行systemctl。
发布于 2019-05-23 01:45:08
这是一个与Docker相关的问题,而不是Kubernetes。根据docker文档中的页面Run multiple services in a container:
通常建议您通过为每个容器使用一个服务来分隔关注的区域。
但是,如果您确实想使用进程管理器,可以尝试supervisord,它允许您使用supervisorctl命令,类似于systemctl。上面的页面解释了如何做到这一点:
这里是一个使用这种方法的Dockerfile示例,它假设预先编写的supervisord.conf、my_first_process和my_second_process文件都与Dockerfile存在于同一目录中。
FROM ubuntu:latest
RUN apt-get update && apt-get install -y supervisor
RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY my_first_process my_first_process
COPY my_second_process my_second_process
CMD ["/usr/bin/supervisord"]发布于 2019-05-23 19:02:51
这是一个相当简短的问题。'systemctl‘命令确实会尝试与默认情况下不在pod中运行的systemd守护程序进行通信(但也可以)。运行多个服务是另一个关于服务管理的问题。在这两种情况下,使用像docker-systemctl-replacement覆盖/usr/bin/systemctl这样的工具并将其注册为容器的init-CMD会有所帮助。
https://stackoverflow.com/questions/56261077
复制相似问题