Docker 컨테이너 네트워크는 여러 컨테이너가 동일한 네트워크에서 서로 통신할 수 있도록 하며 PHP 프레임워크 애플리케이션을 효율적으로 배포하는 데 핵심입니다. 이 글에서는 컨테이너 간의 원활한 연결을 보장하기 위한 Docker 네트워크 구성 방법을 자세히 소개합니다.
Docker는 다양한 시나리오에 적합한 여러 네트워크 모드를 제공합니다.
Laravel PHP 프레임워크 애플리케이션을 배포하고 MySQL 데이터베이스 컨테이너와 통신해야 한다고 가정해 보겠습니다. 구성을 위해 브리지 네트워킹을 사용합니다.
도커 네트워크가 내 네트워크를 생성합니다.
docker run -d --name db --network my-network mysql
docker run -d --rm --name laravel --network my-network laravel:8.0
이 시점에서 Laravel 컨테이너는 db를 통해 MySQL 컨테이너에 액세스할 수 있습니다.
Laravel 애플리케이션을 외부에서 액세스할 수 있으려면 컨테이너 포트가 노출되어야 합니다.
도커 포트 라라벨 80
그러면 Laravel 컨테이너의 포트 80이 노출됩니다.
다음 명령을 사용하여 컨테이너 간 통신을 확인합니다.
도커 exec laravel ping db
다음과 유사한 내용이 표시되면 통신이 정상입니다.
PING db (172.17.0.2) 56(84) 바이트의 데이터. 172.17.0.2의 64바이트: icmp_seq=1 ttl=64 time=0.065 ms
Docker 컨테이너 네트워크를 올바르게 구성하면 PHP 프레임워크 애플리케이션과 데이터베이스 컨테이너 간의 효율적인 상호 연결이 가능합니다. Docker 네트워크는 애플리케이션 격리를 보장할 뿐만 아니라 컨테이너 간의 안정적인 통신을 보장하여 개발 및 배포를 위한 안정적인 환경을 제공합니다.