クイックサマリー: 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!
感謝を見つけること
使用
docker ps
を実行することができます!ドッカーのアタッチとデタッチを使用していました。 – learningtofly