linux cBioportal的Docker防火墙问题

czq61nw1  于 2022-12-11  发布在  Linux
关注(0)|答案(2)|浏览(161)

我们正在防火墙后面尝试运行一个Docker镜像(cBioportal)。2 Docker本身可以安装一个代理,但是现在我们遇到了以下问题:

Starting validation...

INFO: -: Unable to read xml containing cBioPortal version.
DEBUG: -: Requesting cancertypes from portal at 'http://cbioportal-container:8081'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Error occurred during validation step:
Traceback (most recent call last):
  File "/cbioportal/core/src/main/scripts/importer/validateData.py", line 4491, in request_from_portal_api
    response.raise_for_status()
  File "/usr/local/lib/python3.5/dist-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 504 Server Error: Gateway Timeout for url: http://cbioportal-container:8081/api-legacy/cancertypes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/bin/metaImport.py", line 127, in <module>
    exitcode = validateData.main_validate(args)
  File "/cbioportal/core/src/main/scripts/importer/validateData.py", line 4969, in main_validate
    portal_instance = load_portal_info(server_url, logger)
  File "/cbioportal/core/src/main/scripts/importer/validateData.py", line 4622, in load_portal_info
    parsed_json = request_from_portal_api(path, api_name, logger)
  File "/cbioportal/core/src/main/scripts/importer/validateData.py", line 4495, in request_from_portal_api
    ) from e
ConnectionError: Failed to fetch metadata from the portal at [http://cbioportal-container:8081/api-legacy/cancertypes]

现在我们知道这是一个防火墙的问题,因为当我们把它安装在防火墙之外时,它就可以工作了。但是我们还不知道如何改变防火墙。我们的想法是查找引发错误的文件和行。但是我们不知道如何查看文件,因为它们在Docker中。
因此,我们不能只做一些像vim /cbioportal/core/src/main/scripts/importer/ www.example.com这样的事情validateData.py
......因为......什么都没有。当然,我们知道这个文件在Docker镜像中,但是就像我说的,我们不知道如何去查看它。目前我们不知道如何解开这个谜--任何帮助都是感激的。

egdjgwm8

egdjgwm81#

也许你仍然需要这个。你可以通过使用docker-compose exec cbioportal shdocker-compose exec cbioportal bash在容器中访问这个python文件
然后你可以使用cd,cat,vi,vim或其他来访问你帖子中的给定路径。
我不确定您实际运行的是哪个命令,但当我执行导入调用时,例如

docker-compose run --rm cbioportal metaImport.py -u http://cbioportal:8080 -s study/lgg_ucsf_2014/lgg_ucsf_2014/ -o

我不得不用服务器的ip地址替换http://cbioportal:8080。还要注意,研究路径比官方文档中的要深一层。

ycl3bljg

ycl3bljg2#

在cbioportal中,代理后的研究导入仅在离线模式下通过以下方式可用:
首先你要进入集装箱

docker exec -it cbioportal-container bash

然后生成门户信息文件夹

cd $PORTAL_HOME/core/src/main/scripts ./dumpPortalInfo.pl $PORTAL_HOME/my_portal_info_folder

然后离线导入检查。-o对于覆盖非常重要,尽管有警告。

cd $PORTAL_HOME/core/src/main/scripts
./importer/metaImport.py -p $PORTAL_HOME/my_portal_info_folder -s /study/lgg_ucsf_2014 -v -o

希望这对你有帮助。

相关问题