Краткое резюме:
У меня есть одно определение задачи 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, чтобы увидеть файловую систему для устранения моей проблемы? Или в моем посте есть что-то, что всплывает у кого-то?
ТИА!
Вы можете выполнить
docker exec -it $instance_name /bin/bash
использование docker ps
найти имя экземпляра
Других решений пока нет …