Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker容器中更改后的WSO2丢失API_Docker_Wso2_Wso2 Am_Docker Volume_Api Manager - Fatal编程技术网

docker容器中更改后的WSO2丢失API

docker容器中更改后的WSO2丢失API,docker,wso2,wso2-am,docker-volume,api-manager,Docker,Wso2,Wso2 Am,Docker Volume,Api Manager,我在使用WSO2 API Manager 2.0.0时遇到另一个问题:我使用三个容器(一个用于APIM,一个用于分析,一个用于MySQL)在docker中安装了它,我用我的自定义版本(例如DB、服务器名称、网关设置…)替换了一些配置文件。 APIM和Analytics都配置为将数据保存在MySQL容器中,我可以看到数据库中的更改 问题是,在容器重建后,我在发布服务器或存储中都找不到我的API。数据库中的更改仍然存在,我可以看到我所有API的统计信息,如果我尝试使用相同的名称或上下文创建新API,

我在使用WSO2 API Manager 2.0.0时遇到另一个问题:我使用三个容器(一个用于APIM,一个用于分析,一个用于MySQL)在docker中安装了它,我用我的自定义版本(例如DB、服务器名称、网关设置…)替换了一些配置文件。 APIM和Analytics都配置为将数据保存在MySQL容器中,我可以看到数据库中的更改

问题是,在容器重建后,我在发布服务器或存储中都找不到我的API。数据库中的更改仍然存在,我可以看到我所有API的统计信息,如果我尝试使用相同的名称或上下文创建新API,我会收到一个错误,但是在新构建之后,存储总是空的

我还尝试将
/repository/deployment/server/synapse config/default
/repository/tenants/
放在两个卷中,我可以看到在
/…/default/api/
中为我的api创建的文件,但我无法找出问题所在。 我是否应该保留指南中未提及的其他目录


如果可能的话,我不想将整个APIM和Analytics主页放在卷中。

Api信息驻留在数据库和文件系统中。(/repository/deployment/server/synapse config/default/Api)注册表工件可能没有正确索引。你能试试下面的吗

  • 删除solar目录
  • 打开registry.xml并更改以下行,如下所示lastAccessTimeLocation>/\u system/local/repository/components/org.wso2.carbon.registry/index/lastaccesstime-1
  • 现在重新启动服务器。服务器将重新索引所有文件

  • 还要确保数据库配置正确。特别是注册表装载相关配置。

    首先,检查是否可以在资源浏览器中找到工件

    如果可以找到与API相关的文件,那么问题与索引有关。 执行以下操作以重新索引注册表中的工件:

  • 重命名
    /repository/conf/registry.xml
    文件中的
    元素。如果使用群集/分布式API管理器设置,请在API发布者节点中更改该文件。例如,将
    /\u system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime
    注册表路径更改为
    /\u system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime\u 1
  • 关闭API管理器,备份并删除
    /solr
    目录
  • 最后启动API管理器

  • 谢谢,您的回答对我帮助很大:重命名变量force APIM以重新索引显示我的所有API,但在某些情况下,我需要多次更改变量。我解决了将/solr/文件夹装载为卷并使用您的技巧在solr/中创建新索引的问题,很高兴我能提供帮助。