当前位置: 首页 > 面试题库 >

Boot2Docker-以本地主机身份访问Web服务器

居焱
2023-03-14
问题内容

创建了一个Apache Web服务器作为Docker容器,但想在Windows OS浏览器上以localhost对其进行访问。

我可以使用boot2docker私有IP地址192.168.59.103访问Web服务器,但希望以本地主机(即127.0.0.1)访问Web服务器。

以下是我的Docker容器设置

在Oracle VM上运行Boot2docker暴露的端口:docker文件中的“ EXPOSE 80 443”

用于创建Docker File的命令:

docker run --net=host --name=webserver1 -v /home/data:/data/www/www.samplewebserber.com -v `password`:/scripts -d folder/serverfolder  /scripts/run.sh

问题答案:

如果要访问端口80和443的本地主机,则需要执行两个操作:

  1. 首先,在创建容器时,必须特别指定端口映射。如果docker run使用-Poption 运行,则在dockerfile中设置的端口将在EXPOSEBoot2Docker环境中暴露给随机端口。如果要专门映射它,则必须运行:
        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
  1. 并且为了将Boot2Docker端口映射到您的主机环境,如Joe Niland链接建议的那样,您必须使用SSH隧道进行端口转发:

boot2docker ssh -L 80:localhost:80

boot2docker ssh -L 443:localhost:443

您可以根据需要更改为端口映射。



 类似资料:
  • 问题内容: 假设我有一台服务器在OSX的8000端口上运行。我的Docker容器如何通过访问它?由于容器中的应用程序不在我的控制范围内,因此我也无法更改主机名。 我已经阅读了前面有关使用容器访问主机网络的讨论。但是,我在OSX上,并且Docker在VM内运行,因此Docker容器中的 localhost转到了VM,而不是我的真实机器。 然后,我尝试像这样的端口转发解决方法:无济于事。 任何建议将不

  • 在开发机的Web服务器上托管一个站点,然后在Android设备上访问站点内容。 通过USB数据线和Chrome DevTools,您可以在开发机上运行站点,然后在Android设备上查看该网站。 TL;DR 端口转发可以使你在Android设备上查看开发机Web服务器中的内容。 如果你的Web服务器使用自定义域,您可以将Android设备设置为使用自定义域映射访问该域中的内容。 设置端口转发 端口

  • 我们有三个服务器。因此,我们有两个服务器,每个运行一个尤里卡,他们也运行微服务。 我们有第三个服务器运行metrics和spring boot Admin。 Out Eureka配置基本上是: 2)这种配置是否正确和健壮?我的想法是,如果一个尤里卡或服务器宕机,另一个将取代它的位置。

  • 问题内容: 我正在boot2docker 1.3.1下运行。 我有一个Docker容器通过运行Web服务器。 如果我连接到该容器,则可以使用浏览该网站,以便知道服务器正在运行。 我用以下容器运行容器: 它具有以下详细信息: 我以为可以访问,从托管人访问该网站。 这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。 我究竟做错了什么? 问题答案: 好吧,愚蠢的我,我在boot2doc

  • 以下是启动本地计算机kubernetes集群的指南:http://kubernetes.io/v1.0/docs/gett-started-guides/docker.html 我用。yaml文件创建了各种POD,一切正常,我可以使用容器IPs访问nginx和mysql(172.17.x.x范围内,使用docker0),但是当我创建服务时,服务IPs在10.0.0.x范围内,其他容器无法访问。 k