Могу ли я получить доступ к файловой системе работающего экземпляра контейнера NGINX?

Краткое резюме:
У меня есть одно определение задачи ECS, которое раскручивает экземпляр NGINX (последний) и экземпляр PHP (php: 7-fpm). Я настроил отдельные тома для файла site.conf, а также для проекта PHP, который я хочу использовать в NGINX.

Служба ECS запускает эту задачу без проблем. Исходный код, который мне дали, находится в папке «wrapper». Мы будем называть это «обернуть» сейчас. Внутри «wrap» находятся некоторые файлы конфигурации, различные другие файлы php и другая папка, которая называется 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 содержит папку «wrap».

Что-то не так, потому что NGINX продолжает выдавать мне ошибку 404. Однако я попытался запустить Docker attach на контейнере NGINX — я не уверен, к какому процессу я подключаю этот контейнер. Я НЕ МОГУ запустить LS, PWD или какую-либо команду — я предполагаю, что это просто процесс STDout?

Как я могу подключиться к работающему экземпляру NGINX, чтобы увидеть файловую систему для устранения моей проблемы? Или в моем посте есть что-то, что всплывает у кого-то?

ТИА!

1

Решение

Вы можете выполнить

docker exec -it $instance_name /bin/bash

использование docker ps найти имя экземпляра

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector