2017-10-31 2 views
1

요약 : 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!

답변

2

인스턴스 이름을

+1

감사를 찾기 위해

docker exec -it $instance_name /bin/bash 

사용 docker ps을 실행할 수 있습니다! 도커를 사용하고 머리를 쓰다듬어주었습니다. – learningtofly

관련 문제