使用docker网桥网络IP访问apache容器中的vhost
我想了解如何通过在我的本地/etc/hosts文件中提供一个带有docker网桥网络IP的条目来访问docker容器中vhost中配置的域使用docker网桥网络IP访问apache容器中的vhost,apache,networking,docker,bridge,Apache,Networking,Docker,Bridge,我想了解如何通过在我的本地/etc/hosts文件中提供一个带有docker网桥网络IP的条目来访问docker容器中vhost中配置的域 我使用docker compose(v2) Docker网桥IP(默认):172.17.0.1 我有一个运行在172.19.0.10上的apache容器 Vhost很简单,例如: <VirtualHost *:80> ServerName mywebsite.local ServerName mywebsite.local 在我的loc
<VirtualHost *:80>
ServerName mywebsite.local
ServerName mywebsite.local
在我的local/etc/hosts文件中,我有:172.17.0.1 mywebsite.local
而且它是有效的。。。但是怎么做呢?Docker是否使用端口猜测将流量转发到何处(从172.17.0.1转发到172.19.0.10)?
有人能给我一些解释和文件吗
谢谢。在某个时候,您必须用以下内容启动您的集装箱/码头工人:
docker run -d -p 1337:80 coreos/apache /usr/sbin/apache2ctl -D FOREGROUND
1337:80
意味着浏览器中的localhost:1337
将在端口80上进行查找,从而查找apache容器
希望你有什么想法
另请参见或。在某些情况下,您必须使用以下内容启动您的容器/码头工人:
docker run -d -p 1337:80 coreos/apache /usr/sbin/apache2ctl -D FOREGROUND
1337:80
意味着浏览器中的localhost:1337
将在端口80上进行查找,从而查找apache容器
希望你有什么想法
另请参见或。您可以尝试使用
docker-run-d--network=host
或在docker-compose中
网络模式:“主机”
。关于这方面的文件可以找到
这两种方法都将容器放在主机网络堆栈的顶部。您可以尝试使用
docker-run-d--network=host
或在docker-compose中
网络模式:“主机”
。关于这方面的文件可以找到
这两种方法都将您的容器放在主机网络堆栈的顶部。我正在使用docker compose,唯一要做的事情是使用ports指令:ports:-80:80,这样:从端口80传入的请求被发送到内部端口80,该端口是您的apache(由启动命令和vhost本身定义)。因此,在我的解释中,将1337替换为80并完成:)Docker将侦听主机上的所有接口,即
*:
,除非您在端口映射中指定IP地址。虽然localhost:
可以工作,但是其他地址也可以工作。我使用docker compose,唯一要做的事情是使用ports指令:ports:-80:80,这样就可以了:从端口80传入的请求被发送到内部端口80,它是您的apache(由启动命令和vhost本身定义)。因此,在我的解释中,将1337替换为80并完成:)Docker将侦听主机上的所有接口,即*:
,除非您在端口映射中指定IP地址。虽然localhost:
可以工作,但其他地址也可以工作。