我有一个用python编写的swagger服务器api,可以在我的pc上运行,并且可以通过web轻松访问用户界面。我现在正在尝试将这个API运行到一个docker容器中,并将它放到一个远程服务器中。当我尝试连接服务器时,我拒绝了连接。有趣的是,如果我进入容器,swagger服务器正在工作并回答我的请求。在
这是我的Dockerfile:
FROM python:3
MAINTAINER Me
ADD . /myprojectdir
WORKDIR /myprojectdir
RUN pip install -r requirements.txt
RUN ["/bin/bash", "-c", "chmod 777 {start.sh,stop.sh,restart.sh,test.sh}"]
以下是我要构建/运行的命令:
^{pr2}$这是开始.sh脚本:
#!/bin/bash
echo $'\r' >> log/server_log_`date +%Y%m`.dat
python3 -m swagger_server >> log/server_log_`date +%Y%m`.dat 2>&1
以及swagger服务器的main.py:
#!/usr/bin/env python3
import connexion
from .encoder import JSONEncoder
if __name__ == '__main__':
app = connexion.App(__name__, specification_dir='./swagger/')
app.app.json_encoder = JSONEncoder
app.add_api('swagger.yaml', arguments={'title': 'A title'})
app.run(port=80, threaded=True, debug=False)
有人知道我为什么不能和我联系吗oteserver:33788/myservice/ui“以及解决问题的方法。在
提前谢谢
我终于找到了解决办法。它需要告诉connexion的flask服务器在0.0.0.0上运行,这样不仅允许本地连接,而且在大摇大摆具有docker容器所在服务器名称的url
相关问题 更多 >
编程相关推荐