use*_*721 8 portforwarding docker boot2docker
创建了一个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
Run Code Online (Sandbox Code Playgroud)
Dou*_*Hou 15
boot2docker实际上在你的Mac OS中用VirtualBox创建了一个带有linux核心的vm,而192.168.59.103就是那个vm的ip.
因此,您需要为该虚拟机设置一个前向端口
请注意,在Mac OS中,端口80需要很高的权限,因此我在本例中使用8080.

如果要访问localhost到端口80和443,则需要执行两个操作:
首先,在创建容器时,必须专门指定端口映射.如果docker run使用-Poption 运行,则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
Run Code Online (Sandbox Code Playgroud)并且为了将Boot2Docker端口映射到主机环境,正如Joe Niland链接建议的那样,您必须使用SSH隧道进行端口转发:
boot2docker ssh -L 80:localhost:80
boot2docker ssh -L 443:localhost:443
如果愿意,您可以更改为端口映射.
| 归档时间: |
|
| 查看次数: |
4463 次 |
| 最近记录: |