簡體   English   中英

無法將 localhost 與 Docker 容器一起使用

[英]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

  1. 您可以通過 Dockerfile 公開端口或使用 --expose 然后使用 -P 標志發布它。 這會將暴露的端口綁定到隨機端口上的 Docker 主機(通過運行 docker container ls 進行驗證)。

  2. 您可以通過 Dockerfile 公開端口或使用 --expose 然后使用 -p 80:80 標志發布它。 這會將暴露的端口綁定到您的 Docker 主機的 80 端口,並且它期望暴露的端口也是 80(根據需要使用 HOST:CONTAINER 進行調整)。

  3. 您可以忽略暴露任何內容而只使用 -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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM