Gagal terhubung ke port localhost 5000: koneksi ditolak dengan Docker

Saya telah membangun aplikasi Python (flask) kecil saya.Wadah adalah heredocker ps

CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS              PORTS                NAMES4146fd976547        identidock_identidock:latest   "/cmd.sh"           5 minutes ago       Up 5 minutes        9090/tcp, 9191/tcp   agitated_leakey

Jika saya mencoba

curl localhost:5000curl: (7) Failed to connect to localhost port 5000: Connection refused

Saya telah memeriksasudo netstat-an / grep-E "5000" unix 3 [] aliran terhubung 25000

Hal ini tidak listeting pada 5000.jalur yaml dengan port

  ports:   - "5000:5000"

Jika saya exec wadah saya

docker exec -it agitated_leakey /bin/bashuwsgi@4146fd976547:/app$ netstat -lnbash: netstat: command not found

Dockerfile Saya

RUN pip install Flask==0.10.1 uWSGI==2.0.8WORKDIR /appCOPY app /appCOPY cmd.sh /EXPOSE 9090 9191

Mengapa ini terjadi?

Masalah alternatif bisa dengan mode. Di bagian publish saya harus mengatur mode secara eksplisit ke host dan semuanya berfungsi:

docker service create --name registry --publish published=5000,target=5000,mode=host registry:2

Dari output docker ps tampaknya port anda belum terekspos.

$ docker run -d -p 5000:5000 flask-sample-one

Jalankan wadah Anda memetakan port dan jika Anda masih menghadapi masalah yang sama ssh ke wadah dan gunakan perintah berikut.

netstat -lntp | grep :5000

Tampaknya netstat tidak diinstal dalam wadah. Anda dapat menjalankan yum install netstat untuk menginstal dan memeriksa.

Ini panduan akan membantu Anda untuk memverifikasi. Cek docker ps output pada akhirnya.

Dapatkah anda ssh ke docker container dan netstat untuk memeriksa apakah port mendengarkan. Apakah docker port 5000 terekspos ?

Dextro67 Lihatlah hasil edit saya, tolong.