Php 我可以访问正在运行的NGINX容器实例的文件系统吗?

Php 我可以访问正在运行的NGINX容器实例的文件系统吗?,php,docker,nginx,amazon-ecs,Php,Docker,Nginx,Amazon Ecs,快速总结: 我有一个单一的ECS任务定义,它启动一个NGINX(最新)实例和一个PHP(PHP:7-fpm)实例。我已经为site.conf文件以及我希望NGINX提供的PHP项目设置了单独的卷 ECS服务可以毫无问题地启动此任务。我得到的源代码在一个“包装器”文件夹中。我们现在称之为“包装”。“wrap”中有一些配置文件、各种其他php文件和另一个名为public的文件夹。public内部是index.php 我的site.conf文件如下所示: server { root /wrap/pub

快速总结: 我有一个单一的ECS任务定义,它启动一个NGINX(最新)实例和一个PHP(PHP:7-fpm)实例。我已经为site.conf文件以及我希望NGINX提供的PHP项目设置了单独的卷

ECS服务可以毫无问题地启动此任务。我得到的源代码在一个“包装器”文件夹中。我们现在称之为“包装”。“wrap”中有一些配置文件、各种其他php文件和另一个名为public的文件夹。public内部是index.php

我的site.conf文件如下所示:

server {
root /wrap/public;
listen 80;
index index.php;
server_name localhost;
error_log  /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;


location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass php:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
我的ECS任务定义装载点如下所示:

mountPoints: [
    {
      "containerPath": "/etc/nginx/conf.d/",
      "sourceVolume": "config",
      "readOnly": false
    },
    {
      "containerPath": "/usr/local/nginx/",
      "sourceVolume": "webdata",
      "readOnly": false
    }
 ]
ECS任务定义卷包括:

"volumes": [
{
  "host": {
    "sourcePath": "/ecs/config"
  },
  "name": "config"
},
{
  "host": {
    "sourcePath": "/ecs/webdata"
  },
  "name": "webdata"
},
{
  "host": {
    "sourcePath": "/ecs/debug"
  },
  "name": "debug"
}
],

ECS主机上的webdata文件夹包含“wrap”文件夹

有点不对劲,因为NGINX一直给我一个404错误。我已经尝试在NGINX容器上运行Docker attach,但是-我不确定在容器上附加了什么进程。我不能运行LS、PWD或任何命令-我假设它只是一个STDout进程

如何连接到正在运行的NGINX实例以查看文件系统以调试我的问题?或者,我的帖子里有什么东西会突然向任何人泄露吗

蒂亚

您可以执行

docker exec -it $instance_name /bin/bash

使用
docker ps
查找实例名称

谢谢!正在使用docker attach和脱发。