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