2017-09-04 1 views
0

일반적으로 app.py를 실행하여 플라스크 서버에서 실행되는 작은 웹 애플리케이션을 로컬 호스트에서 실행할 수 있습니다. 도커 컨테이너에서 실행하고 싶습니다. 그래서 localhost를 사용할 수 없습니다. 대체 방법으로는 정상적으로 작동하는 0.0.0.0을 사용하지만 내 작업 프록시에서는 작동하지 않습니다.Docker - 프록시에서 Flask 웹 애플리케이션 실행하기

어떻게이 문제를 해결할 수 있습니까?

app.py

from flask import Flask, render_template 
app = Flask(__name__) 


@app.route("/") 
def main(): 
    return render_template('index.html') 

if __name__ == "__main__": 
    app.run(host='0.0.0.0') 

Dockerfile

FROM python:2.7.13 

ADD . /code 
WORKDIR /code 

RUN pip install Flask --proxy=[proxy] 

CMD ["python", "app.py"] 
+0

에 대한 자세한 내용은 스레드 아래를 참조하십시오? 프록시로? Dockerfiles/docker-compose 파일은 어떤 모습입니까? –

+0

나중에 kubernetes 클러스터에 추가 할 예정이므로 클러스터에서 실행할 수 있습니다. kubernetes 노드는 고유 한 외부 IP 주소를 가지고 있으며 브라우저를 통해 해당 노드에 액세스 할 수 있기를 원합니다. 또한 dockerfile을 추가했습니다 :) – monadoboi

답변

0

당신은 컨테이너 내부 프록시를 사용할 필요가 없습니다. 필요한 것은 컨테이너/이미지의 외부에 있어야합니다. 기업 환경에서든 집에서든 상관 없습니다.

docker run -p 5000:5000 <yourimage>을 사용할 경우. 컨테이너 내부의 포트 5000을 사용자 시스템의 모든 인터페이스에 맵핑합니다.

이제 네트워크에있는 다른 컴퓨터에서 기계에 연결할 수 있다면 http://<yourreachablemachineip>:5000을 사용해야합니다. 또한 어떤 이유로 프록시가 필요할 경우 해당 프록시를 도커 데몬에 적용하고 도커 컨테이너에는 적용하지 않아야합니다. 당신은 로컬에서 실행하려면 같은

lookup registry-1.docker.io: no such host

관련 문제