>  기사  >  운영 및 유지보수  >  도커 서비스에 액세스하는 방법

도커 서비스에 액세스하는 방법

PHPz
PHPz원래의
2023-04-04 09:16:563369검색

Docker는 사용자가 애플리케이션을 쉽게 구축, 게시 및 실행할 수 있도록 도와주는 인기 있는 컨테이너화 플랫폼입니다. Docker는 다양한 운영 체제에서 실행되며 거의 모든 프로그래밍 언어와 함께 사용할 수 있습니다. Docker 사용자라면 로컬 Docker 컨테이너에서 애플리케이션을 실행하는 방법을 이미 알고 있을 것입니다. 그러나 실제 프로덕션 환경에서는 네트워크를 통해 외부적으로 서비스를 제공하는 방법을 이해해야 합니다. 이 문서에서는 Docker 서비스에 액세스하는 방법을 설명하고 Docker에서 포트 매핑 및 네트워킹을 사용하는 방법을 보여줍니다.

  1. 포트 매핑 사용

Docker에서 서비스를 실행하면 기본적으로 해당 서비스는 로컬에서만 액세스할 수 있고 다른 컴퓨터에서는 액세스할 수 없습니다. 서비스에 액세스하려면 포트 매핑을 통해 서비스를 공용 네트워크에 노출해야 합니다. 포트 매핑은 내부 Docker 포트를 외부 컴퓨터에 매핑하는 기술입니다. 이를 수행하는 몇 가지 단계는 다음과 같습니다.

1단계: Docker에서 서비스 실행

먼저 로컬로 Docker에서 서비스를 실행해야 합니다. 예를 들어 웹 애플리케이션을 실행하는 경우 적절한 Docker 명령을 사용하여 컨테이너에서 애플리케이션을 실행해야 합니다.

2단계: Docker 컨테이너의 IP 주소 찾기

다음으로 Docker 컨테이너의 IP 주소를 찾아야 합니다. 다음 명령을 실행하여 컨테이너의 IP 주소를 얻을 수 있습니다.

docker inspect <container_name> | grep "IPAddress"

참고: 여기서 은 쿼리하려는 컨테이너의 이름입니다. 일반적으로 컨테이너 이름은 애플리케이션 이름과 동일합니다.

3단계: 컨테이너 포트를 호스트 포트에 매핑

다음으로, 컨테이너 포트를 호스트 포트에 매핑해야 합니다. 예를 들어 애플리케이션이 컨테이너의 포트 80에서 실행되는 경우 해당 포트를 호스트의 포트 8080에 매핑해야 합니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.

docker run -p 8080:80 -d <image_name>

참고: -p는 포트를 호스트 포트 8080에 매핑하는 것을 의미하고, -d는 데몬 모드에서 컨테이너를 실행하는 것을 의미하며, Docker 이미지의

4단계: 호스트 이름을 통해 컨테이너에 액세스

마지막으로 호스트 이름이나 IP 주소를 사용하여 컨테이너에 액세스할 수 있습니다. 컨테이너의 포트를 호스트의 포트 8080에 매핑한 경우 다음을 통해 서비스에 액세스할 수 있습니다.

http://<hostname>:8080

참고: 여기서 은 액세스하려는 컴퓨터의 이름 또는 IP 주소입니다.

  1. Docker 네트워크 사용

Docker는 포트 매핑을 사용하는 것 외에도 Docker 네트워크를 사용하여 컨테이너의 서비스에 액세스하는 것을 지원합니다. Docker 네트워크는 컨테이너가 서로 통신할 수 있게 하고 컨테이너가 외부 컴퓨터와 더 쉽게 통신할 수 있게 해주는 컨테이너 네트워크입니다. 이를 수행하는 몇 가지 단계는 다음과 같습니다.

1단계: Docker 네트워크 생성

먼저 Docker 네트워크를 생성해야 합니다. 다음 명령을 사용하여 네트워크를 생성할 수 있습니다.

docker network create <network_name>

참고: 여기서 은 생성하려는 Docker 네트워크의 이름입니다.

2단계: 컨테이너 시작 및 Docker 네트워킹 사용

다음으로 Docker 네트워킹을 사용하여 컨테이너를 시작해야 합니다. 다음 명령을 사용하여 컨테이너를 시작하고 생성한 네트워크에 연결할 수 있습니다.

docker run --name <container_name> --network <network_name> -d <image_name>

참고: 여기서 --name은 컨테이너의 이름 지정을 나타내고 --network는 컨테이너의 네트워크 지정을 나타내며 < Container_name>은 원하는 이름입니다. 실행 중인 컨테이너의 이름은 은 사용하려는 Docker 네트워크의 이름이고, 은 애플리케이션을 실행하는 Docker 이미지의 이름입니다.

3단계: 컨테이너 이름을 통해 서비스에 액세스

마지막으로 컨테이너 이름을 사용하여 서비스에 액세스할 수 있습니다. 컨테이너를 Docker 네트워크에 연결한 경우 컨테이너 이름을 사용하여 서비스에 액세스할 수 있습니다. 예를 들어 컨테이너 이름이 my_app인 컨테이너에 액세스하려는 경우 다음을 사용하여 서비스에 액세스할 수 있습니다.

http://my_app

참고: Docker 네트워킹은 이미 서비스를 로컬 네트워크에 노출하므로 포트 번호를 지정할 필요가 없습니다.

결론

위의 방법으로 Docker에서 서비스에 접근할 수 있습니다. 포트 매핑은 공용 네트워크에 서비스를 노출하는 데 도움이 되고, Docker 네트워킹은 컨테이너의 다른 서비스와 통신하는 데 도움이 됩니다. 적절한 방법을 선택하는 것은 귀하의 특정 요구와 상황에 따라 다릅니다. Docker를 사용할 때는 보안 모범 사례를 따르고 공격으로부터 컨테이너와 서비스를 보호하십시오.

위 내용은 도커 서비스에 액세스하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.