이 페이지의
Docker 컨테이너 및 네트워크 인터페이스
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 인터페이스는 서비스 실행기와 qoauth를 호스팅하는 데 사용됩니다. 앱은 대부분의 인프라 구성 요소로부터 격리되어 있지만 보안 및 인증을 관리하려면 서비스 실행기와 qoauth에 연결할 수 있어야 합니다.
Docker 인터페이스에 대한 정보
Docker 인터페이스에 대한 정보를 얻으려면 다음 명령을 입력합니다.
docker inspect <docker_container_ID> | grep NetworkMode
다음은 출력의 예입니다.
"NetworkMode": "appProxy"
이 예에서는 docker <docker_container_ID> 를 사용하여 명령어와 파이프를 더 적은 수로 파이프하여 더 많은 네트워크 세부 사항을 보는 방법을 보여줍니다.
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 주소를 보여줍니다.