[英]Unable to use localhost with Docker Container
我在 stackoverflow 和 github 上嘗試了其他答案,但沒有一個有效。 當我運行容器時,我將其作為輸出(這是標准的“燒瓶運行”輸出)
這是我的 Dockerfile
FROM alpine:latest
RUN apk add --no-cache python3-dev && pip3 install --upgrade pip
WORKDIR /app
COPY . /app
RUN pip3 install Flask && pip3 install requests && pip3 install simplejson
EXPOSE 5000
CMD [ "flask", "run" ]
我也試過 0.0.0.0:5000 但它不起作用。
運行此命令以了解主機的 IP 地址。 boot2docker ip
現在將此 IPAddress 與映射到主機的端口號一起使用。
例如,當您生成一個正在運行 Web 服務器等進程的容器時,您需要指定要從容器發布到主機的端口,例如
docker run -p 8888:8080 tomcat
這將端口8080從容器發布到主機的端口8888
您可以通過 Dockerfile 公開端口或使用 --expose 然后使用 -P 標志發布它。 這會將暴露的端口綁定到隨機端口上的 Docker 主機(通過運行 docker container ls 進行驗證)。
您可以通過 Dockerfile 公開端口或使用 --expose 然后使用 -p 80:80 標志發布它。 這會將暴露的端口綁定到您的 Docker 主機的 80 端口,並且它期望暴露的端口也是 80(根據需要使用 HOST:CONTAINER 進行調整)。
您可以忽略暴露任何內容而只使用 -p 80:80 在這種情況下,這可以兼作公開和發布端口。
嘗試跑步,
docker run -d --name <your_ctr_name>-p 5000:5000 <your_image_name>:latest
如果需要綁定主機,
docker run -d --name container_name -p 10.x.x.100:5000:5000 image_name:latest
如果要使用網絡主機公開 docker,
docker run -d --network host --name container_name image_name:latest
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.