问下docker-composer安装的nginx和php容器,我如何知道容器里面的nginx进程是不是正常运行的?
情况是是这样的,我用docker-composer安装了一个lnmp环境,里面有nginx容器和php容器
然后我感觉nginx容器里面的进程没有启动,平常一般我是用ps -ef |grep php查看进程,现在容器里面就没有这个命令,所以我想知道容器里面如何查看进程运行情况,还有就是如何知道php进程是什么用户启动的?
docker-composer ps docker-composer logs
curl nginx的项目 可以访问就是启动了
docker logs nginx容器
请求访问一下,然后nginx访问日志access_log瞅一眼,如果有映射日志目录就直接服务器映射目录看,没有映射目录就进到容器里面看
推荐使用laradock
1、docker-compose不是docker-composer,专业点,别被人家笑话了
2、docker不是这么用的,一般部署都是nginx镜像定制,php镜像定制,然后docker-compose编排,目的是为了快速编排两套一模一样的环境,从而可以进行均衡负载场景搭建
3、容器内如果有什么命令不存在,可以通过安装这个命令,你选择基础镜像,就可以选择系统版本,其实还是在操作linux命令,如果你运行lamp,肯定要看很多状态,情况,docker提供的命令查看日志等等,可能有点麻烦,所以还是在容器中安装命令去查看
4、一个容器里面运行这么多东西,再把这个容器跑在服务器上?那图个啥,docker还占内存,为啥不直接在服务器上搭建环境?这也就和2中所说的对应了,你又不搭建那些复杂的场景,就别用docker了
docker-compose up -d 下就知道了
Runing代表正在运行
或者docker top nginx镜像名称
使用 docker ps 可以检查容器运行情况,但运行中的容器进程不一定运行正常,你需要再 docker-compose.yaml 中加入 healthcheck 选项,可以用来执行一个命令检查容器是否正常运行。当然对于 nginx 服务最好的方式使用 curl 向某个存在的地址发个请求验证一下。
nginx容器里面的nginx如果没有运行的话 那这个容器就是挂掉的状态,因为这个nginx容器会监听nginx进程,当然想在里面看的话 装一个ps就好