0

EBアプリケーションで展開後スクリプトを実行する必要があります。私はマルチコンテナDocker環境内のDockerコンテナでコマンドを実行する必要があります。問題は、Dockerコンテナにコンテナ名のランダムなハッシュが割り当てられることです。Dockerrun.aws.jsonとElastic Beanstalkを使用したDockerコンテナの名前付け

EBを使ってビルドとセットアッププロセス中にDockerコンテナに名前を割り当てる方法についての情報を検索したようではありません。

これについての洞察はありますか?私はドッカーと知っている - これは問題ではない作成する。コンテナに名前を付ける

答えて

0

これはあなたが同様の方法でコンテナに名前を付けることができhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_v2config.html#create_deploy_docker_v2config_dockerrun

の例である

"containerDefinitions": [ 
    { 
     "name": "php-app", 
     "image": "php:fpm", 
     "environment": [ 
     { 
      "name": "Container", 
      "value": "PHP" 
     } 
     ], 
     "essential": true, 
     "memory": 128, 
     "mountPoints": [ 
     { 
      "sourceVolume": "php-app", 
      "containerPath": "/var/www/html", 
      "readOnly": true 
     } 
     ] 
    } 

を参照してくださいDocker.aws.jsonファイルを使用して行うことができ

+0

私は最近それを試みましたが、 'docker ps'を実行すると、コンテナの名前はまだハッシュです。 –

0

コンテナの名前をDockerrun.aws.jsonにしても、beanstalkは環境名などの特定のハッシュを付けて名前を付けます。しかし、それは上のファイルの名前も持っています。

8a18a679564e XXXXXXXXXX.dkr.ecr.eu-west-1.amazonaws.com/XXX:1.0.0-nginx "nginx -g 'daemon ..." 13 hours ago  Up 13 hours   0.0.0.0:80->80/tcp ecs-awseb-test-rcbdaytu5h-6-nginx-e6a58fe786d9eae7dc01 

最後の列には、私たちが話しているハッシュが含まれています。あなたは後の展開スクリプトを作成している場合、あなたはまだ、のは言わせ、名前の一部に基づいて、コンテナIDを返し

docker ps -qf name=nginx 

を持つコンテナIDを取得することができます。私は.ebextensions

files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/post/99_do_something_on_container.sh": 
    mode: "000755" 
    owner: root 
    group: root 
    content: | 
     #!/usr/bin/env bash 
     MY_CONTAINER=$(docker ps -qf name=nginx) 
     docker exec $MY_CONTAINER my command 

に私の設定ファイルにこのような何かをするだろう

は、それはあなたの問題を解決する方法上の任意のアイデアを提供します願っています。 :-)

関連する問題