私は自分のPC上で実行でき、Web経由でユーザーインターフェイスに簡単にアクセスできる、派手なサーバーAPIを持っています。私は今、このAPIをドッカーコンテナに入れてリモートサーバーに配置しようとしています。リモートサーバーの 'docker run'コマンドintを実行した後、すべて正常に動作しているようですが、接続しようとするとERR_CONNECTION_REFUSED応答が返されます。面白いのは、私がコンテナに入ると、スワッガーサーバーが動作しており、私の要求に答えるということです。ここでスガッガーサーバーをドッカーコンテナにアクセスできない
は私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}"]
は実行/構築するために私のコマンドです:ここでは
sudo docker build -t mycontainer .
sudo docker run -d -p 33788:80 mycontainer ./start.sh
はstart.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
とメインスワッサーサーバーの.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)
なぜ私は 'myremoteserver:33788/myservice/ui'にアクセスできないのか、それを解決するために何を変えるべきだと知っていますか?事前