今天来系统聊一聊docker的端口,常见的有容器内程序端口.容器端口.主机端口.Dockerfile中EXPOSE端口.docker-compose和docker run中的port等. 貌似很多端口,但连接时真实的端口仅程序端口和主机端口,其他都是对端口的声明,并不会实际开启端口的服务. 下面以nginx和redis镜像为例介绍下这些端口的关系:nginx程序端口80,映射主机端口30080:redis程序端口6379,映射主机端口36379.实际通信如下图 程序端口即容器端口 程序端口即实际