Netflix conductor 服务器本地 Docker 容器不健康。

4
我按照此处的步骤,在我的桌面电脑上本地安装和运行Netflix Conductor。我试图使用docker-compose启动所有服务。在一开始出现Docker版本不正确、Docker Compose版本不正确以及Docker Compose构建问题(通过这个链接解决)后,我遇到了一个错误——

/conductor/docker$ sudo docker-compose up

docker_elasticsearch_1 is up-to-date

docker_dynomite_1 is up-to-date

ERROR: for conductor-server Container "a89b4c61d465" is unhealthy.

ERROR: Encountered errors while bringing up the project.

我还将Elasticsearch端口更改为10300,并在docker-compose.yaml、server/config/config.properties和server/config/config-local.properties中进行了修改。

Docker Compose版本为1.23.2,Docker版本为18.09.3。
附加信息:我恢复了端口设置为默认值(9200/9300),并添加了不健康容器的Docker信息(由于重新构建,Docker容器ID已更改)

/conductor/docker$ sudo docker ps -a --filter "id=7be9f9b5288c" [sudo] password for anshuman: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

7be9f9b5288c docker.elastic.co/elasticsearch/elasticsearch:5.6.8 "/bin/bash bin/es-do…" 36 minutes ago Up 36 minutes (unhealthy) 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp docker_elasticsearch_1

curl到Elasticsearch看起来没问题。

/conductor/docker$ curl http://127.0.0.1:9200/_cat/health 1553188720 17:18:40 docker-cluster yellow 1 1 5 5 0 0 5 0 - 50.0%

Docker容器的日志文件显示了这个(不知道是什么意思)。
/conductor/docker$ sudo docker logs 7be9f9b5288c [2019-03-21T17:12:06,323][INFO ][o.e.x.m.MachineLearningTemplateRegistry] [M5hkiIZ] 成功创建.ml-meta索引模板 [2019-03-21T17:12:06,413][INFO ][o.e.x.m.MachineLearningTemplateRegistry] [M5hkiIZ] 成功创建.ml-notifications索引模板 [2019-03-21T17:12:06,502][INFO ][o.e.x.m.MachineLearningTemplateRegistry] [M5hkiIZ] 成功创建.ml-anomalies-索引模板 [2019-03-21T17:12:07,152][INFO ][o.e.l.LicenseService ] [M5hkiIZ] 许可证 [dfac41a4-9280-4c77-81ef-0f943039ef77] 模式[试用版] - 有效 [2019-03-21T17:12:15,712][INFO ][o.e.c.m.MetaDataCreateIndexService] [M5hkiIZ] [.monitoring-es-6-2019.03.21] 创建索引,原因 [自动(批量操作)],模板 [.monitoring-es],分片 1/1,映射 [doc] [2019-03-21T17:12:16,122][INFO ][o.e.c.m.MetaDataCreateIndexService] [M5hkiIZ] [.watches] 创建索引,原因 [自动(批量操作)],模板 [watches],分片 1/1,映射 [watch] [2019-03-21T17:12:16,728][INFO ][o.e.c.m.MetaDataMappingService] [M5hkiIZ] [.watches/t05gsw2UQjmWEJ9IiSKn6g] 更新映射[watch] [2019-03-21T17:13:17,111][INFO ][o.e.c.m.MetaDataCreateIndexService] [M5hkiIZ] [.triggered_watches] 创建索引,原因 [自动(批量操作)],模板 [triggered_watches],分片 1/1,映射 [triggered_watch] [2019-03-21T17:13:17,644][INFO ][o.e.c.m.MetaDataCreateIndexService] [M5hkiIZ] [.monitoring-alerts-6] 创建索引,原因 [自动(批量操作)],模板 [.monitoring-alerts],分片 1/1,映射 [doc] [2019-03-21T17:13:17,918][INFO ][o.e.c.m.MetaDataCreateIndexService] [M5hkiIZ] [.watcher-history-6-2019.03.21] 创建索引,原因 [自动(批量操作)],模板 [.watch-history-6],分片 1/1,映射 [doc] [2019-03-21T17:13:18,475][INFO ][o.e.c.m

1
a89b4c61d465 是谁?docker ps -a --filter "id= a89b4c61d465" 告诉我们答案。 - β.εηοιτ.βε
在问题中添加了该信息。看起来 docker_elasticsearch_1 容器不健康。而且似乎与端口配置有关。 - asr9
1个回答

3

最终,我找到了解决问题的方法。这需要至少了解 dockerDockerfile 的基础知识。

  1. 根据此处的文档,我启动了本地服务器并尝试使用docker-compose启动所有内容。这导致端口冲突。
  2. 我不正确地更改了elasticsearch端口,后来在学习了Dockerfile的基础知识后发现了这一点。这是我的容器无法正常工作的原因。
  3. 然后构建conductor-ui时出现错误。

    npm ERR!code EINTEGRITY

    这需要更改conductor-ui的Dockerfile。将npm install命令更改为npm install --no-shrinkwrap --update-binary(基于这里的答案)。其他关于此问题的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接