Macos 尝试运行docker容器时出现的端口转发问题
我是docker的新手,还没有接触过网络专家,但在尝试运行docker容器实例时,我发现了一些奇怪之处,对吗?。我正在OSX上运行docker,并使用以下文档进行设置: 一切似乎都进展顺利,然后我通过以下线路设置端口转发规则:Macos 尝试运行docker容器时出现的端口转发问题,macos,performance,tcp,docker,boot2docker,Macos,Performance,Tcp,Docker,Boot2docker,我是docker的新手,还没有接触过网络专家,但在尝试运行docker容器实例时,我发现了一些奇怪之处,对吗?。我正在OSX上运行docker,并使用以下文档进行设置: 一切似乎都进展顺利,然后我通过以下线路设置端口转发规则: for i in {49000..49900}; do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i"; done 我可以通过检查Oracle VM VirtualBox管理
for i in {49000..49900};
do VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i";
done
我可以通过检查Oracle VM VirtualBox管理器->网络->适配器1->OSX端口转发中的配置来确认boot2docker VM实例
然后我运行这个命令来获取容器
docker run -d -P dockerhub.emory.edu/ecoi_trunk:2
我做了一个docker ps并得到了这个信息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f20bfefa2e97 dockerhub.emory.edu/ecoi_trunk:2 "/usr/sbin/apachectl 18 seconds ago Up 15 seconds 0.0.0.0:49153->443/tcp, 0.0.0.0:49154->80/tcp cranky_einstein
然而,当我运行lsof-I:49153时,我发现没有人在听。我也无法通过浏览器中的l****主机:49153访问容器。它只是挂着
奇怪的是,如果我显式设置端口,而不是允许docker通过以下命令分配端口:
docker run -d -p 49000:80 dockerhub.emory.edu/ecoi_trunk:2
lsof-i:49000显示TCP侦听,我可以确认它正在侦听,并且可以通过l****主机:49000访问容器。然而,它的速度非常慢。我不确定两者是否相关,但欢迎提供任何提示或想法。我已经对其进行了进一步研究。显然,docker分配的前两个端口49153和49154似乎存在问题。请尝试使用sudo lsof-i:49153-docker作为root运行。SudoNetstat-tunlp还应该向您展示TCP侦听docker代理。一般来说,像这样的问题是你的应用程序在你的容器中的问题-只是容器,而不是容器实例:-你有应用程序级别的日志记录,你可以查看以进一步排除故障吗?当您telnet localhost 49153时会发生什么?