ElasticBeanstalkってすごい楽、
RailsやJavaなどのサンプルはたくさん転がっているけど
Docker MultiContainer は意外と少ないイメージ。
今回は、Docker MultiContainerモードでRails + sidekiq + Nginxの
環境を構築するために必要なDockerrun.aws.jsonを書きため。
Beanstalkで使うDockerrun.aws.json
containerDefinitionsの中に、使用するDocker imageを追加していく感じ。
なんとなーーく、docker-composeに見えなくもない。
いや、ぜんぜん違う。
タイトルの構成だとこんな感じ。
必要なイメージはECRにpushしておいてください。
ECRへのpush方法とかは後日まとめる予定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
{ "AWSEBDockerrunVersion": 2, "containerDefinitions": [ { "name": "nginx", "image": "1234567890.dkr.ecr.ap-northeast-1.amazonaws.com/myprod/nginx:latest", "essential": true, "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], "links": [ "app" ] }, { "name": "app", "image": "1234567890.dkr.ecr.ap-northeast-1.amazonaws.com/rails-sidekiq:latest", "essential": true, "memory": 256, "portMappings": [ { "containerPort": 3000 } ], "environment": [ { "name": "PROCESS", "value": "web", } ] }, { "name": "worker", "image": "1234567890.dkr.ecr.ap-northeast-1.amazonaws.com/rails-sidekiq:latest", "essential": true, "memory": 256, "environment": [ { "name": "PROCESS", "value": "worker", } ] } ] } |
これをルートディレクトリに配置してzipバンドル化する。
バンドル化したものはAWSのWeb consoleからアップロードしちゃってください。
じゃあね〜〜〜〜。