요약 : NGINX (최신) 인스턴스와 PHP (PHP : 7-fpm) 인스턴스를 회전시키는 단일 ECS 작업 정의가 있습니다. site.conf 파일과 NGINX가 제공하는 PHP 프로젝트를위한 별도의 볼륨을 설정했습니다.실행중인 NGINX 컨테이너 인스턴스의 파일 시스템에 액세스 할 수 있습니까?
ECS 서비스가 문제없이이 작업을 시작합니다. 필자가 제공 한 소스 코드는 "wrapper"폴더에 있습니다. 우리는 지금 그것을 "포장"이라고 부를 것입니다. "랩"내부에는 일부 설정 파일, 다양한 다른 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 호스트의 webdata 폴더에는 "wrap"폴더가 있습니다.
NGINX에서 404 오류를 계속 제공하기 때문에 문제가 발생했습니다. 그러나 Docker를 NGINX 컨테이너에 연결하려고 시도했습니다. 컨테이너에 연결할 프로세스가 확실하지 않습니다. 나는 LS 나 PWD 또는 다른 명령을 실행할 수 없다. 단지 STDout 프로세스라고 가정하고 있는가?
문제를 디버깅하기 위해 파일 시스템을보기 위해 실행중인 NGINX 인스턴스에 어떻게 첨부 할 수 있습니까? 아니면 내 게시물에 누군가가 튀어 나오는 것이 있습니까?
TIA!
감사를 찾기 위해
사용
docker ps
을 실행할 수 있습니다! 도커를 사용하고 머리를 쓰다듬어주었습니다. – learningtofly