Ini adalah pertama kalinya saya menggunakan buruh pelabuhan. Saya baru saja mengikuti langkah-langkah di webist docker:
https://docs.docker.com/get-started/part2/#run-the-app
Setelah saya menyelesaikan setiap langkah, saya tidak dapat mengakses http://localhost:4000
dari browser. (Langkah-langkah ini di tautan akan memetakan 80 hingga 4000 di buruh pelabuhan) Berikut adalah konfigurasi untuk buruh pelabuhan saya:
$ docker ps
CONTAINER ID IMAGE COMMAND
STATUS PORTS NAMES
d204920463a9 firendlyhello "python app.py"
Up 6 minutes 0.0.0.0:4000->80/tcp pensive_bell
Ketika saya menjalankan aplikasi ini:
liyuan.liu@USEUG-98T5N32 MINGW64 ~/test
$ docker run -p 4000:80 firendlyhello
* Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
Kemudian saya mencoba untuk membuka http: // localhost: 4000 di browser saya, tetapi hanya mengatakan: Situs ini tidak dapat dijangkau. Ini adalah konten app.py:
liyuan.liu@USEUG-98T5N32 MINGW64 ~/test
$ cat app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr('counter')
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name}!</h3>" \
"<b>Hostname:</b> {hostname}<br/>" \
"<b>Visits:</b> {visits}"
return html.format(name=os.getenv('NAME', "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
docker
docker-for-windows
Menjadi satu
sumber
sumber
http://localhost:80
? Bagaimana denganhttp://0.0.0.0:80
danhttp://0.0.0.0:4000
?Jawaban:
Docker mengkonfigurasi alamat IP defaultnya sendiri, yang dapat Anda lihat setiap kali Anda meluncurkan Terminal Quickstart Docker.
Alih-alih
http://localhost:4000
,type http://[IP address:4000]
Anda juga dapat menggunakan perintah ini untuk menemukan IP yang telah dikonfigurasi Docker:
sumber