繁体   English   中英

Boot2Docker - 将webserver作为localhost访问

[英]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,则需要执行两个操作:

  1. 首先,在创建容器时,必须专门指定端口映射。 如果使用-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 
  2. 并且为了将Boot2Docker端口映射到主机环境,正如Joe Niland链接建议的那样,您必须使用SSH隧道进行端口转发:

    boot2docker ssh -L 80:localhost:80

    boot2docker ssh -L 443:localhost:443

如果愿意,您可以更改为端口映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM