Docker는 현재 가장 널리 사용되는 컨테이너화 플랫폼 중 하나이며, 애플리케이션 배포 및 관리를 크게 단순화할 수 있습니다. 가장 중요한 기능 중 하나는 Docker 가상 네트워크로, 이는 사용자가 별도의 물리적 시스템에 여러 컨테이너를 생성하고 협업하는 동시에 우수한 네트워크 격리 및 보안을 제공하는 데 도움이 됩니다.
이 기사에서는 Docker 가상 네트워크를 사용하여 컨테이너 간 통신 및 네트워크 상호 운용성을 구축하는 방법을 소개하고 네트워크 격리 및 보안의 중요성도 소개합니다.
먼저 Docker 가상 네트워크를 생성해야 합니다. 다음 명령을 사용하여 "my-network"라는 가상 네트워크를 생성할 수 있습니다.
docker network create my-network
네트워크를 생성한 후 다음 명령을 사용하여 현재 docker 가상 네트워크를 나열할 수 있습니다.
docker network ls
결과는 다음과 같습니다.
NETWORK ID NAME DRIVER SCOPE 6e8c0391c9ac bridge bridge local a8a551c45849 host host local d6a050011a56 my-network bridge local 69f86bb8f6bc none null local
이제 컨테이너를 생성하고 통신하는 데 사용할 수 있는 "my-network"라는 가상 네트워크를 생성했습니다.
다음으로 두 개의 컨테이너를 생성하고 방금 생성한 "my-network" 가상 네트워크에 연결하겠습니다. --network
매개변수를 사용하여 컨테이너를 가상 네트워크에 연결합니다. --network
参数将容器连接到虚拟网络。
使用以下命令启动一个名为"webserver"的容器,并将其连接到虚拟网络:
docker run --name webserver --network my-network -p 8080:80 -d nginx
在上面的命令中,我们使用了"nginx"镜像来创建我们的容器。-p
docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysql
-p
매개변수는 docker 컨테이너의 포트 "80"을 실제 머신의 포트 "8080"에 매핑합니다. 두 번째 컨테이너를 생성하고 유사한 방법을 사용하여 가상 네트워크에 연결할 수도 있습니다.
docker exec -it webserver apt-get update docker exec -it webserver apt-get install nano
컨테이너 간 통신 테스트
컨테이너가 성공적으로 통신하는지 테스트하려면 "웹 서버"에서 간단한 HTML 페이지를 사용할 수 있습니다. 먼저 "웹 서버" 컨테이너로 이동하여 다음 명령을 사용하여 nano 텍스트 편집기를 설치합니다.docker exec -it webserver nano /usr/share/nginx/html/index.html
<!DOCTYPE html> <html> <head> <title>Welcome to my website</title> </head> <body> <p>Hello from webserver!</p> <?php $servername = "database"; $username = "root"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully to database"; ?> </body> </html>
http://127.0.0.1:8080
... Version: '5.7.22' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL) 2019-05-22T20:02:24.809716Z 0 [Note] Event Scheduler: Loaded 0 events Connected successfully to database
네트워크 격리 및 보안
Docker 가상 네트워크의 또 다른 중요한 역할은 서로 다른 컨테이너 간에 네트워크 격리 및 보안을 제공하는 것입니다. 예를 들어, "웹 서버" 컨테이너에서 악성 코드를 실행하면 다른 컨테이너에 액세스하거나 영향을 미칠 수 없습니다.요약
이 글에서는 Docker 가상 네트워크를 사용하여 서로 다른 컨테이너를 연결하고 컨테이너 간 통신을 활성화하는 방법을 소개했습니다. 또한 Docker 가상 네트워크가 네트워크 격리 및 보안을 제공하는 방법도 배웠습니다. 🎜🎜가상 네트워크는 강력한 컨테이너형 애플리케이션을 구축하고 우수한 보안을 제공하는 데 사용할 수 있는 Docker의 매우 중요한 기능입니다. Docker를 사용하여 애플리케이션을 구축하는 경우 애플리케이션 보안 및 효율성을 향상시키기 위해 가상 네트워크 사용을 고려하십시오. 🎜위 내용은 도커 가상 네트워크를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!