2017-10-31 6 views
1

クイックサマリー: NGINX(最新)インスタンスとPHP(PHP:7-fpm)インスタンスをスピンアップする単一のECSタスク定義があります。 site.confファイルと、NGINXに提供したいPHPプロジェクトのための別個のボリュームを設定しました。実行中のNGINXコンテナインスタンスのファイルシステムにアクセスできますか?

ECSサービスは問題なくこのタスクを開始します。私が与えたソースコードは "ラッパー"フォルダにあります。私たちは今、それを "ラップ"と呼んでいます。 "ラップ"の中には、いくつかの設定ファイル、その他のさまざまなPHPファイル、およびpublicという別のフォルダがあります。 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

関連する問題