我使用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 │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
答案 0 :(得分:3)
第一件事
执行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映像。
您还可以使用AWS控制台在ECS->群集->服务->任务下查看任务事件
如果出现问题,您会在类似事件中看到
如果一切正常,那么
完整图片