84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
docker 端口映射 有点蒙圈 谁给解释一下
ringa_lee
容器间互相访问需在容器创建时使用--link参数,并且最好被连接的容器已经命名过。
docker run --name mysql .......docker run --name php --link mysql .......docker run --name nginx --link php .......
docker run --name mysql .......
docker run --name php --link mysql .......
docker run --name nginx --link php .......
以这种方式启动时,只需要在程序内使用对应的容器名即可访问相应的服务。例如 fastcgi_pass php:9000;
fastcgi_pass php:9000;
如果是对外暴露端口,需要通过-p或者-P参数,最好使用-p。docker run --name nginx -p 80:80 -p 443:443 .......这样浏览器就能访问到这台服务器提供的Web服务了。
docker run --name nginx -p 80:80 -p 443:443 .......
端口映射:就是选择一个你本机的端口映射到你的容器的一个端口,这样若有请求来到,访问你本机的那个被映射的端口,这个时候就会将请求转发到容器的那个端口,依靠容器里的服务来处理请求。
为什么要有端口映射?你的本机IP是个公网ip,例如1.2.3.4;但是本机的容器的ip是个虚拟ip,例如172.17.0.2。外界是没法直接访问你的容器的服务的,这个时候就通过访问本机的端口来达到使用容器中服务的目的。
不知道所谓的“蒙圈”具体是指什么。简单的说类似于NAT的原理,如果需要宿主机网络能够访问到容器提供的服务,需要将容器的端口暴露在宿主机网络中。常用语法是在运行"都docker run"时带上参数"-p host_port:container_port"。
容器间互相访问需在容器创建时使用--link参数,并且最好被连接的容器已经命名过。
docker run --name mysql .......
docker run --name php --link mysql .......
docker run --name nginx --link php .......
以这种方式启动时,只需要在程序内使用对应的容器名即可访问相应的服务。
例如
fastcgi_pass php:9000;
如果是对外暴露端口,需要通过-p或者-P参数,最好使用-p。
docker run --name nginx -p 80:80 -p 443:443 .......
这样浏览器就能访问到这台服务器提供的Web服务了。
端口映射:
就是选择一个你本机的端口映射到你的容器的一个端口,这样若有请求来到,访问你本机的那个被映射的端口,这个时候就会将请求转发到容器的那个端口,依靠容器里的服务来处理请求。
为什么要有端口映射?
你的本机IP是个公网ip,例如1.2.3.4;但是本机的容器的ip是个虚拟ip,例如172.17.0.2。外界是没法直接访问你的容器的服务的,这个时候就通过访问本机的端口来达到使用容器中服务的目的。
不知道所谓的“蒙圈”具体是指什么。
简单的说类似于NAT的原理,如果需要宿主机网络能够访问到容器提供的服务,需要将容器的端口暴露在宿主机网络中。
常用语法是在运行"都docker run"时带上参数"-p host_port:container_port"。