我在stackoverflow和github上尝试了其他答案,但是它们都不起作用。 当我运行容器时 I get this as the output(Which is the standard "flask run" output)
这是我的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,但它不起作用。
答案 0 :(得分:0)
运行此命令以了解主机的IP地址。
boot2docker ip
现在使用此IPAddress以及映射到主机的端口号。
例如,生成运行Web进程之类的容器的容器时,您需要指定要从该容器发布到主机的端口,例如
docker run -p 8888:8080 tomcat
这会将端口 8080 从容器发布到主机的端口 8888
答案 1 :(得分:0)
您可以通过Dockerfile公开端口或使用--expose和 然后使用-P标志进行发布。这会将裸露的端口绑定到 您的Docker主机在随机端口上(通过运行docker进行验证 容器ls)。
您可以通过Dockerfile公开端口或使用--expose和 然后使用-p 80:80标志进行发布。这将绑定暴露 端口通过端口80连接到您的Docker主机,并且需要暴露的端口 也是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