Я создал приложение фляги и развернул его в контейнере Docker, и он отлично работает на порту localhost: 5000, но мое приложение использует службу Stanfordcore nlp, для которой мне нужно запустить сервер или запустить контейнер при запуске sudo docker -p 9000: 9000 nlpbox / corenlp, и он работает на порту 9000, но я не могу получить доступ к этому URL-адресу внутри моего контейнера приложений фляги.Может ли кто-нибудь сказать мне, как запустить основной NLP-сервер в том же контейнере приложения фляги или как получить доступ к этому URL-адресу в этом контейнере?
Я начал создавать одно приложение Flask Добавил это приложение Flask в Docker-контейнер исборка и запуск контейнера запустили сервер stanfordcore nlp в командной строке
from pycorenlp import StanfordCoreNLP
import flask
from flask import Flask, request
app = flask.Flask(__name__)
nlps = StanfordCoreNLP('http://localhost:8000')
def getPositivityUsingSFCoreNLP(dep):
sent=getPOSRemovedSent(dep)
try:
res = nlps.annotate(sent,properties={'annotators': 'sentiment','outputFormat': 'json','timeout': 1000,})
for s in res["sentences"]:
return(s["sentiment"])
except:
pass
def getDependency(sent):
doc = nlpSpacy(sent)
dep=[]
for token in doc:
dep.append([token.text, token.dep_, token.head.text, token.head.pos_,token.pos_,token.tag_,token.lemma_])
return dep
@app.route('/checkAppreciationSentance', methods=['GET'])
def checkText()
dep=getDependency(sent)
sentiment=getPositivityUsingSFCoreNLP(dep)
print(sentiment)
if __name__ == "__main__":
app.run(debug=True)