Docker는 개발자가 애플리케이션을 생성, 배포 및 실행할 수 있도록 지원하는 오픈 소스 컨테이너화 플랫폼으로, 개발, 배포, 운영 및 유지 관리 프로세스를 더욱 쉽고 효율적으로 만듭니다. 개발자가 Docker 컨테이너에서 애플리케이션을 실행할 때 애플리케이션의 특정 포트를 열어야 하는 경우가 있습니다.
개방형 포트를 통해 네트워크의 다른 컴퓨터가 실행 중인 Docker 컨테이너의 애플리케이션에 액세스할 수 있습니다. Docker 컨테이너 내에서 애플리케이션은 하나 이상의 포트를 수신할 수 있습니다. 예를 들어 웹 서버는 일반적으로 포트 80에서 수신 대기합니다. 포트가 올바르게 열리지 않으면 외부 컴퓨터가 애플리케이션에 연결할 수 없습니다.
Docker는 포트를 열고 관리하는 다양한 방법을 제공합니다. 이 문서에서는 Docker 컨테이너에서 포트를 열고 관리하는 몇 가지 방법을 살펴보겠습니다.
docker run 명령을 사용하여 포트를 엽니다
개발자는 Docker run 명령을 사용하여 포트를 열 수 있습니다. 새 컨테이너를 생성할 때 -p 옵션을 사용하여 열려는 포트를 지정할 수 있습니다. 이 옵션을 사용하면 컨테이너 내부의 포트를 호스트의 포트에 매핑할 수 있습니다.
예를 들어, 새로운 Nginx 웹 서버 컨테이너를 시작하고 다음 명령을 사용하여 컨테이너의 포트 80을 호스트의 포트 8000에 매핑할 수 있습니다.
docker run -d -p 8000:80 nginx
위 명령에서 -d 옵션은 다음을 지정하는 데 사용됩니다. 컨테이너가 백그라운드 실행 중입니다. -p 옵션은 매핑할 포트를 지정하는 데 사용됩니다.
docker-compose 파일을 사용하여 포트 열기
Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. Docker Compose를 사용하면 개발자는 docker-compose.yml 파일을 사용하여 다중 컨테이너 애플리케이션의 구조와 종속성을 정의할 수 있습니다. 컨테이너 애플리케이션의 각 컨테이너에는 자체 포트가 있으며 Docker Compose는 이러한 포트를 관리하는 쉬운 방법을 제공합니다.
Docker Compose 파일에서 개발자는 각 컨테이너에 대한 포트 매핑을 정의할 수 있습니다. 예를 들어 다음은 웹 서버와 데이터베이스 컨테이너를 정의하고 해당 포트를 호스트의 포트에 매핑하는 Docker Compose 파일입니다.
version: "3.7" services: web: build: . ports: - "8000:80" db: image: mysql:5.7 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: pass
위 Docker Compose 파일에서 웹 컨테이너는 호스트의 포트 8000에 있습니다. 실행 및 매핑 컨테이너의 포트 80을 호스트 포트로 연결합니다. 마찬가지로 db 컨테이너는 호스트의 3306 포트에서 실행되고 컨테이너의 3306 포트를 호스트 포트에 매핑합니다.
Dockerfile을 사용하여 포트 열기
Dockerfile은 Docker 이미지를 자동으로 빌드하는 데 사용되는 스크립트 파일입니다. Dockerfile에서 개발자는 열려는 포트와 기타 관련 설정을 지정할 수 있습니다. Dockerfile을 사용하여 Docker 이미지를 빌드하면 Docker는 Dockerfile의 지침을 사용하여 포트를 엽니다.
다음은 Ubuntu 기반 Nginx 웹 서버 이미지를 빌드하고 포트를 열기 위한 간단한 Dockerfile입니다.
FROM ubuntu:18.04 RUN apt-get update && apt-get install nginx -y EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
위 Dockerfile에서 EXPOSE 지시문을 사용하여 열린 포트가 80임을 지정합니다. 이 이미지를 빌드한 후 애플리케이션은 컨테이너의 포트 80에서 실행됩니다.
요약
이 기사에서는 Docker 컨테이너에서 포트를 열고 관리하는 몇 가지 방법을 논의했습니다. 개발자는 docker run 명령, Docker Compose 및 Dockerfile을 사용하여 필요한 포트를 쉽게 열고 애플리케이션이 네트워크의 다른 컴퓨터와 연결할 수 있도록 할 수 있습니다. 개발자가 Docker 컨테이너에서 애플리케이션을 실행할 때 포트를 올바르게 여는 것이 매우 중요합니다.
위 내용은 Docker에서 슬로건을 시작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!