ドッキング・コンテナ間の双方向通信を行う方法はありますかAWS Beanstalk?AWS Beanstalkのドッキング・コンテナ間の相互通信
私が働くことを試みているスタックはかなり標準的です:ワニス - > Nginx - > PHP-FPM。
私はlinks仕様を使用して、nginxがホスト名 "php-app"を見つけるように指定しています。 Nginxはのphp-appホスト名がであることが分かります。しかし、 "php-app"がキャッシュ無効化のためにPURGEリクエストを送信できるように、ホスト名 "ニス"を解決できるようにするには "php-app"も必要です。基本的には
機能するようになりましたこれだけ通信があります:
は[ワニス:80] - > [nginxの:8080] - > [PHP-アプリ]
しかし、これは作業する必要があります。
[narnx:8080] - > [php-app] --- PURGE ---> [ワニス:80]
php-appは基本的にしかし、それは不可能と思われます。
は、私はまた、HOSTからニスコンテナのIPアドレスを得ることができることを知っているが、私はちょうどPHPアプリのコンテナから同じことをやりたい:私もphp-へのリンクを追加しようとした
VARNISH_HASH=`docker ps | grep varnish | sed 's/\|/ /' | awk '{print $1}'`
VARNISH_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' $VARNISH_HASH`
"links": [
"varnish"
]
マイ関連Dockerrun.aws.json(コンテナdeifinitionファイル)次のようになります:展開するときにアプリのコンテナが、それはエラーが生じたが、私はそれがその後、循環依存があるためだと思う
{
"AWSEBDockerrunVersion": 2,
"volumes": [
.....
],
"containerDefinitions": [
{
"name": "nginx-proxy",
"image": "nginx",
"essential": true,
"memory": 128,
"links": [
"php-app"
],
"portMappings": [
{
"hostPort": 8080,
"containerPort": 8080
}
],
"environment": [
{
"name": "NGINX_PORT",
"value": "8080"
}
],
"mountPoints": [ .... ]
},
{
"name": "varnish",
"hostname": "varnish",
"image": "newsdev/varnish:4.1.0",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 80,
"containerPort": 80
}
],
"links": [
"nginx-proxy",
"php-app"
],
"mountPoints": [ .... ]
},
{
"name": "php-app",
"image": "peec/magento2-php-fpm-aws",
"essential": true,
"memory": 1024,
"environment": [
],
"mountPoints": [ .... ]
}
]
}
あなたは答えを見つけましたか?同様のことを探していますが、同じインスタンスのマルチコンテナドッカーでは、「リンク」パラメータを使用する必要はありません。解決策は何でしたか? –