天天看點

Docker 容器之間互相通路

1、建立 docker 網橋

docker network create hr-network           

2、檢視

[root@kvm81 frontend]# docker network list
NETWORK ID          NAME                DRIVER              SCOPE
a5f0dd433c6b        bridge              bridge              local
ff5e05f84fa0        host                host                local
9ff079df0e65        hr-network          bridge              local
0afffbfb091d        none                null                local           

3、後端容器 添加到指定的 hr-network 網絡

docker run --name hr-backend \
--network hr-network --network-alias hr-backend \
-p 8998:8998 -d hr-backend           

---network <bridge> 網橋名

--network-alias 網絡别名 

4、前端容器 添加到指定的 hr-network 網絡

docker run --name hr-frontend \
--network hr-network --network-alias hr-frontend \
-p 7879:7879 -d hr-frontend           

5、容器之間通路方法

<網絡别名>:<服務端口号>  

下面 前端 nginx 轉發  java 後端接口 

upstream r6-hrtest-api {
        server                              hr-backend:8998;
}

server {

        listen          7879;

        location /hr/api {
                proxy_pass                   http://r6-hrtest-api;
                proxy_set_header             Host             $host;
                proxy_set_header             X-Real-IP        $remote_addr;
                proxy_set_header             X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

        location /swagger/ {
                proxy_pass                   http://r6-hrtest-api/hr/;
                proxy_set_header             Host             $host:$server_port;
                proxy_set_header             X-Real-IP        $remote_addr;
                proxy_set_header             X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

        location / {
                root                         /opt/hrtest/frontend;
        }
}
           

繼續閱讀