Docker 네트워크는 해당 네트워크의 컨테이너 간 통신이 제한되지 않는
통신 신뢰 구역을 정의합니다.
각 네트워크는 호스트의 브릿지 인터페이스와 연관되며 방화벽 룰은 이러한 인터페이스 간에
트래픽을 필터링하도록 정의됩니다. 일반적으로 동일한 Docker 네트워크와 호스트 브릿지
인터페이스를 공유하는 구역 내 컨테이너는 서로 통신할 수 있습니다. 이 일반 룰의 예외는 앱이 동일한
dockerApps 네트워크에서 실행되지만 방화벽에 의해 서로 격리되어 있다는 점입니다.
- Docker 인터페이스
- Docker 인터페이스의 목록을 보려면 다음 명령을 입력하십시오.
docker network
ls
- 출력 예제는 다음과 같습니다.
[root@q1dk00 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
943dd35a4747 appProxy bridge local
9e2ba36111d1 dockerApps bridge local
514471d98b42 dockerInfra bridge local
dockerApps 인터페이스는 앱 간의 통신 룰을 적용하는 데 사용됩니다.
appProxy 인터페이스에는 nginx_framework_apps_proxy 컨테이너가 표시됩니다.
dockerInfra 인터페이스는 service launcher 및 qoauth를 호스팅하는 데 사용됩니다. 앱은 대부분의 인프라 구성요소와 격리되어 있지만 service launcher 및 qoauth에 연결하여 시크릿 및 권한을 관리할 수 있어야 합니다.
- Docker 인터페이스에 대한 정보
- 다음 명령을 입력하여 Docker 인터페이스에 대한 정보를 확보하십시오.
docker inspect <docker_container_ID> | grep NetworkMode
- 출력 예제는 다음과 같습니다.
"NetworkMode": "appProxy"
-
이 예는 docker inspect <docker_container_ID> 명령을 사용하고 less에 파이프하여 더 많은 네트워크 세부사항을 보는 방법을 보여줍니다.
docker inspect d9b3e58649de | less
- 출력 예제는 다음과 같습니다.
"Networks": {
"dockerApps": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"d9b3e58649de"
], "NetworkID":
"79bc4716da5139a89cfa5360a3b72824e67701523768822d11b53caeaa5e349e",
"EndpointID":
"9dba9d9a174b037f72333945b72cdf60c3719fdb9a3a10a14a8ee3cc0e92a856",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "2003:db8:1::1",
"GlobalIPv6Address": "2003:db8:1::2",
"GlobalIPv6PrefixLen": 64,
"MacAddress": "02:42:ac:12:00:02"
}
이 예의 출력은 지정된 컨테이너(d9b3e58649de)에서 사용하는 네트워크의 구성을 보여주며, Docker 네트워크 인터페이스 이름(dockerApps) 및 Docker 컨테이너에 지정된 네트워크의 IP 주소를 보여줍니다.