我試圖在AWS beanstalk上部署多個node.js微服務,並且我希望將它們部署在同一實例上。這是我第一次部署多種服務,所以有些失敗我需要某人幫助我。所以,我試圖首先將它們打包在碼頭集裝箱中。同時,我正在使用碼頭作曲家來管理結構。它在本地虛擬機中啓動並運行,但是當我將它部署到beanstalk時,遇到了一些問題。使用docker composer在AWS beanstalk上部署docker
我所知道的:
- 我知道我必須選擇部署的多集裝箱碼頭工人。
- 管理多個node.js服務的最佳實踐是使用docker composer。
- 我需要一個
dockerrun.aws.json
node.js應用程序。 - 我需要爲該ecs實例創建任務定義。
哪裏有問題:
- 我只能找到PHP
dockerrun.aws.json
和task_definition.json
模板,所以我無法驗證,如果我在這兩個JSON文件的node.js 配置在正確的形狀。 - 看起來好像
docker-compose.yml
,dockerrun.aws.json
和task_definition.json
正在做類似的工作。我必須保留 task_definition,但是我還需要dockerrun.aws.json嗎? - 我試圖在ecs中運行任務,但它立即停止。我怎樣才能檢查日誌的任務?
我:在環境
發現
沒有ECS任務定義(或空定義文件),因爲我任務都將會立即停止。如果我可以查看日誌,那麼我可以更容易地進行故障排除。
這裏是我的
task_definition.json
:{ "requiresAttributes": [], "taskDefinitionArn": "arn:aws:ecs:us-east-1:231440562752:task-definition/ComposerExample:1", "status": "ACTIVE", "revision": 1, "containerDefinitions": [ { "volumesFrom": [], "memory": 100, "extraHosts": null, "dnsServers": null, "disableNetworking": null, "dnsSearchDomains": null, "portMappings": [ { "hostPort": 80, "containerPort": 80, "protocol": "tcp" } ], "hostname": null, "essential": true, "entryPoint": null, "mountPoints": [ { "containerPath": "/usr/share/nginx/html", "sourceVolume": "webdata", "readOnly": true } ], "name": "nginxexpressredisnodemon_nginx_1", "ulimits": null, "dockerSecurityOptions": null, "environment": [], "links": null, "workingDirectory": null, "readonlyRootFilesystem": null, "image": "nginxexpressredisnodemon_nginx", "command": null, "user": null, "dockerLabels": null, "logConfiguration": null, "cpu": 99, "privileged": null } ], "volumes": [ { "host": { "sourcePath": "/ecs/webdata" }, "name": "webdata" } ], "family": "ComposerExample" }
也許這將幫助https://github.com/ingenieux/beanstalker/issues/63 – taco
@taco,這不正是我要找的,但我可能以及在此問題跟蹤器中發佈我的問題,謝謝。 –
而我沒有使用他們的beanstalker –