![](/img/trans.png)
[英]How to deploy a React + NodeJS Express application to AWS?
[英]Deploy NodeJS Express API to AWS
我使用CodeFresh構建我的Docker映像並推送到AWS ECR。
我檢查了我的ECR,可以看到成功推送到那里。
我通過SSH進入EC2,那里看不到任何內容。
[ec2-user@ip-10-0-0-47 share]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e4d4eae6520 616934057156.dkr.ecr.us-east-2.amazonaws.com/bheng-api "sh cmd.sh" 29 hours ago Up 29 hours 3002/tcp ecs-api-1-bheng-api-88ef95c7ddc993badf01
44b78781d487 amazon/amazon-ecs-agent:latest "/agent" 30 hours ago Up 30 hours ecs-agent
[ec2-user@ip-10-0-0-47 share]$
[ec2-user@ip-10-0-0-47 share]$
[ec2-user@ip-10-0-0-47 share]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
616934057156.dkr.ecr.us-east-2.amazonaws.com/bheng-api latest 41e9eaa2aff2 29 hours ago 952MB
amazon/amazon-ecs-agent latest 622111e45fde 6 weeks ago 29.4MB
amazon/amazon-ecs-pause 0.1.0 b875fd8f097a 6 weeks ago 963kB
[ec2-user@ip-10-0-0-47 share]$
[ec2-user@ip-10-0-0-47 share]$
[ec2-user@ip-10-0-0-47 share]$
這是我的EC2的安全組
Use --update-env to update environment variables
[PM2] Applying action restartProcessId on app [all](ids: 0)
[PM2] [index](0) ✓
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ index │ 0 │ fork │ 23901 │ online │ 1 │ 0s │ 0% │ 12.8 MB │ node │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
第一件事
通過執行ls
並不意味着它將顯示docker映像。
如果docker鏡像成功提取,則使用以下命令進行檢查。
docker images
這將打印在此ec2容器實例中運行的所有圖像。 類似於56789.dkr.ecr.us-east-2.amazonaws.com/bheng-api:latest
。
至於調試是一個問題,您需要檢查您的Docker容器是否正在運行。
docker ps
這將打印正在運行的容器。
復制容器的ID並運行此命令。
docker exec -it {container_id} bash|ash
碼頭工人日志
docker logs {container_id}
您還可以通過將角色分配給ece容器實例來檢查映像的工作方式,然后運行以下命令。
docker run -it --rm -p 80:80 56789.dkr.ecr.us-east-2.amazonaws.com/bheng-api:latest
我會再次提及步驟
- 創建ECR並推送您的docker鏡像
- 創建任務定義
- 創建運行該任務定義實例的服務。 沒有服務,將不會有像容器或碼頭工人形象。 創建服務后,您將在ec2實例中設置docker映像。
您還可以使用ECS->集群->服務->任務下的AWS控制台查看任務事件
如果出現問題,您會在類似的事件中看到
如果一切都好,那
完整圖片
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.