如何确保AWS EC2实例上的Docker容器始终运行?
检查容器运行状态
直接用以下命令查看:
docker ps:列出当前正在运行的容器,能看到容器ID、名称、运行状态等关键信息,一眼就能判断你的API容器是否在后台持续运行。- 如果要排查历史状态,用
docker ps -a,这个会显示所有容器(包括已停止的),看状态列就能知道容器有没有意外退出过。
让容器在后台持续运行的方法
1. 启动时直接指定后台运行
新启动容器时,加 -d 参数就能让它在后台默默运行:
docker run -d --name my-api-container -p 8080:8080 my-api-image
-d:后台运行模式--name:给容器起个辨识度高的名字,后续管理更方便-p:把EC2的端口映射到容器端口,保证Postman能正常请求
2. 配置自动重启策略
怕EC2重启或者容器意外挂掉?给容器加自动重启规则就行:
常用的三种重启策略:
always:不管容器为啥退出,都自动重启on-failure:3:只有容器非正常退出时才重启,最多尝试3次unless-stopped:除非你手动停掉容器,否则只要实例活着,容器就一直运行
操作命令:
# 启动容器时直接配置 docker run -d --restart unless-stopped --name my-api-container -p 8080:8080 my-api-image # 给已经在运行的容器补加重启策略 docker update --restart unless-stopped my-api-container
3. 验证配置是否生效
手动停一下容器,看它会不会自动启动:
docker stop my-api-container # 等几秒后再查询状态 docker ps
或者直接重启EC2实例,登录后执行 docker ps,确认容器是否自动启动。
内容的提问来源于stack exchange,提问作者batuhan
相关产品推荐
相关产品推荐

