1. 参数的作用
--restart=unless-stopped
表示:
-
自动重启:当容器意外退出(如进程崩溃、宿主机重启等)时,Docker 会自动重启容器。
-
除非显式停止:只有当你手动运行
docker stop es
或docker-compose down
时,容器才会保持停止状态。
2. 适用场景
该参数适合以下需求:
-
生产环境:确保 Elasticsearch 服务高可用,避免因意外崩溃导致服务不可用。
-
长期运行:宿主机重启后,容器自动恢复,无需人工干预。
3. 潜在风险
需注意以下问题:
-
循环重启陷阱:如果 Elasticsearch 因配置错误(如内存不足、数据损坏)启动失败,容器会无限重启。建议配合日志监控(
docker logs -f es
)使用。 -
资源竞争:若宿主机资源不足(如内存),可能导致 Elasticsearch 反复崩溃重启,需合理分配资源(如
-e ES_JAVA_OPTS="-Xms4g -Xmx4g"
)