[英]Boot2Docker - Access webserver as localhost
创建了一个apache webserver作为Docker容器,但想在windows os浏览器上以localhost的身份访问它。
我可以使用boot2docker私有IP地址访问web服务器,该地址为192.168.59.103但是想要访问webserver作为localhost即127.0.0.1。
以下是我的Docker Container设置
在Oracle VM Exposed端口上运行Boot2docker:docker文件中的“EXPOSE 80 443”
用于创建Docker文件的命令:
docker run --net=host --name=webserver1 -v /home/data:/data/www/www.samplewebserber.com -v `password`:/scripts -d folder/serverfolder /scripts/run.sh
boot2docker实际上在你的Mac OS中使用VirtualBox创建了一个带有linux核心的虚拟机,而192.168.59.103是该虚拟机的ip。
因此,您需要为该虚拟机设置一个前向端口
请注意,在Mac OS中,端口80需要很高的权限,因此我在本例中使用8080。
如果要访问localhost到端口80和443,则需要执行两个操作:
首先,在创建容器时,必须专门指定端口映射。 如果使用-P
选项docker run
docker EXPOSE
则dockerfile的EXPOSE
设置的端口将暴露给Boot2Docker环境中的随机端口。 如果要专门映射它,则必须运行:
docker run \\ --net=host \\ --name=webserver1 \\ -v /home/data:/data/www/www.samplewebserber.com \\ -v `password`:/scripts \\ -d -p 80:80 -p 443:443 \\ folder/serverfolder \\ /scripts/run.sh
并且为了将Boot2Docker端口映射到主机环境,正如Joe Niland链接建议的那样,您必须使用SSH隧道进行端口转发:
boot2docker ssh -L 80:localhost:80
boot2docker ssh -L 443:localhost:443
如果愿意,您可以更改为端口映射。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.