Tôi đang cố triển khai nhiều dịch vụ micro node.js trên AWS beanstalk, và tôi muốn chúng được triển khai trên cùng một cá thể. Đây là lần đầu tiên tôi triển khai nhiều dịch vụ, vì vậy có một số lỗi tôi cần một ai đó để giúp tôi. Vì vậy, tôi đã cố gắng để gói chúng trong một container docker đầu tiên. Trong khi đó tôi đang sử dụng nhà soạn nhạc docker để quản lý cấu trúc. Nó chạy và chạy cục bộ trong máy ảo của tôi, nhưng khi tôi triển khai nó trên cây đậu, tôi đã gặp một vài vấn đề.Triển khai docker trên AWS beanstalk với docker composer
Những gì tôi biết:
- Tôi biết tôi phải chọn để triển khai như Docker đa container.
- Cách tốt nhất để quản lý nhiều dịch vụ node.js là sử dụng trình soạn thảo docker.
- Tôi cần một
dockerrun.aws.json
cho ứng dụng node.js. - Tôi cần tạo định nghĩa tác vụ cho cá thể ecs đó.
Nơi tôi có vấn đề:
- tôi chỉ có thể tìm thấy
dockerrun.aws.json
vàtask_definition.json
mẫu cho php, vì vậy tôi không thể xác minh nếu cấu hình của tôi cho Node.js trong hai file json là trong hình dạng chính xác. - Có vẻ như
docker-compose.yml
,dockerrun.aws.json
vàtask_definition.json
đang thực hiện các công việc tương tự. Tôi phải giữ nhiệm vụ định nghĩa, nhưng tôi vẫn cần dockerrun.aws.json? - Tôi đã cố gắng chạy tác vụ trong ec, nhưng nó dừng lại ngay lập tức. Làm thế nào tôi có thể kiểm tra nhật ký cho công việc?
tôi nhận:
Không có định nghĩa ecs nhiệm vụ (hoặc tập tin định nghĩa trống) được tìm thấy trong môi trường
vì nhiệm vụ của tôi sẽ luôn luôn dừng lại ngay lập tức. Nếu tôi có thể kiểm tra nhật ký, nó sẽ dễ dàng hơn cho tôi khi chụp ảnh.
Đây là tôi 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"
}
Có lẽ điều này sẽ giúp https://github.com/ingenieux/beanstalker/issues/63 – taco
@taco, đây không phải là chính xác những gì tôi đang tìm kiếm, nhưng biết đâu tôi sẽ cũng đăng vấn đề của tôi trong bộ theo dõi vấn đề này, cảm ơn. –
Và tôi không sử dụng beanstalker của họ –