我在Alpine容器中运行Nginx网络服务器。看来我不能使用没有不同特权的systemctl
(https://github.com/moby/moby/issues/2296),或者我得到Failed to get D-Bus connection: Unknown error -1
。有没有其他方法可以实现相同的功能,即检查正在运行的Nginx实例的状态?
你可以做ps -ef | grep nginx
或netstat -a | grep port_num
假设nginx的进程名称是nginx,port_num是运行服务器的端口
在容器内,nginx通常作为唯一的进程运行(实际上是master和一些worker),而不是任何类型的服务。
正如你在这里看到的那样official nginx alpine Dockerfile nginx甚至不能作为守护进程运行。
如果nginx将退出容器将停止运行。只需使用docker ps
检查您的容器是否处于运行状态。
通常nginx容器因配置错误而失败。
容器中的nginx将请求和错误日志转发给docker日志收集器。找到nginx容器无法启动的原因的最好方法就是docker logs <container-name-or-id>