在 Docker 中,默认情况下容器无法直接与外部网络通信。 为了使外部网络能够访问容器内的服务,Docker 提供了端口映射功能,通过将宿主机的端口映射到容器内的端口,外部可以通过宿主机的IP和端口访问容器内的服务
以下通过动手演示, 安装一个Flask容器, 解释端口映射从外部访问容器的原理
安装一个Flask容器
文件结构
1 | . |
Dockerfile
1 | FROM rockylinux:9.3 |
app.py
1 | from flask import Flask |
构建镜像
1 | docker build -t flask-app:1.0 . |
启动容器, 进行端口映射
1 | docker run -d -p 80:5000 flask-app:1.0 |
从外部访问 (192.168.52.203是我的虚拟机IP)
1 | # curl 192.168.52.203 |