我有一个 dockerised 烧瓶应用程序,其中包含下面提到的一些文件
我正在使用以下命令来构建和运行容器
# Create Virtual Network
$ sudo docker network create network_1
# Create Container
$ sudo docker build -t form_ocr:latest .
$ sudo docker run -d -p 6001:5000 --net network_1 --name form_ocr form_ocr
创建虚拟网络和容器后,IP 被分配给它们
网络network_1 IP:172.18.0.1
容器form_ocr内部IP:172.18.0.2
因此容器已启动并正在运行,并且从主机它应该可以在此路径上访问,0.0.0.0:6001但事实并非如此,我对正在运行的容器进行了一些故障排除,如下所述
命令输出netstat(容器内)
$ netstat -nltp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.11:46011 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.5:5000 0.0.0.0:* LISTEN 1/python3
docker ps命令的输出
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c3f454ab515 form_ocr "python3 app.py" About an hour ago Up About an hour 0.0.0.0:6001->5000/tcp form_ocr
系统主机文件/etc/hosts
127.0.0.1 localhost
127.0.1.1 arush-pc
...
我有以下疑惑
Q1 为什么容器在提到127.0.0.5地址时监听?0.0.0.0app.py
Q1 如果容器正在监听地址127.0.0.5:5000,那么127.0.0.11:46011地址指的是什么?
我是 docker 的初学者,任何评论都会很有帮助