Publication de port lors de l'exécution avec Docker Compose

Je n'arrive pas à travailler sur un moyen d'obtenir du port de la publication de travailler avec docker-compose run de la même manière que je peux avec docker run.

En utilisant le Panneau de Composer (et, par conséquent, le mappage de port en docker-compose.yml) donne un "Échec de la connexion" erreur de curl:

$ docker-compose run flask
 * Running on http://0.0.0.0:2048/(Press CTRL+C to quit)

$ curl http://localhost:2048/
curl: (7) Failed connect to localhost:2048; Connection refused

Cependant, les choses sont très bien quand manuellement en passant les ports docker run:

$ docker run -p 2048:2048 --name flask -t flask_image
 * Running on http://0.0.0.0:2048/(Press CTRL+C to quit)

$ curl http://localhost:2048
Hello World!

Ce qui me manque?


Dockerfile

FROM centos:7

# Install EPEL repo.
RUN rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

# Install Python and Pip.
RUN yum -y update && yum -y install \
    python \
    python-pip

# Flask is necessary to run the app.
RUN pip install flask

EXPOSE 2048

ADD hello_world_flask_app.py /src/hello_world_flask_app.py
CMD ["python", "/src/hello_world_flask_app.py"]

hello_world_flask_app.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

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

docker-composer.yml

version: '2'
services:
  flask:
    build: .
    ports:
      - "2048:2048"

source d'informationauteur JimmidyJoo