>  기사  >  운영 및 유지보수  >  도커에서 노출이란 무엇을 의미합니까?

도커에서 노출이란 무엇을 의미합니까?

WBOY
WBOY원래의
2022-07-25 16:12:264520검색

Docker에서 노출은 정보를 표시하는 것을 의미하며 문서 표현 방법으로, 개발자는 dockerfile의 이미지로 어떤 서비스를 열 수 있는지 빠르게 알 수 있으므로 운영 및 유지 관리 담당자가 더 쉽게 사용할 수 있습니다. 컨테이너를 생성하면 어떤 포트를 열어야 할지 알 수 있습니다. 노출 포트가 없으면 컨테이너 간 서비스도 서로 액세스할 수 있습니다.

도커에서 노출이란 무엇을 의미합니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.

Docker에서 노출이란 무엇을 의미하나요?

Dockerfile의 노출은 태그 정보입니다. 포트를 직접 열 수는 없으므로 운영 및 유지 관리 담당자가 컨테이너 사용 시 어떤 포트를 열어야 하는지 알 수 있어 편리합니다. docker run -itd -P xxx:xxx 를 사용하는 경우 Capital -P는 Dockerfile 파일에서 EXPOSE를 사용하여 정의된 포트를 매핑하므로 수동으로 -p: 이 형식을 수행할 필요가 없습니다.

EXPOSE는 단지 문서 표현 방법일 뿐입니다. dockerfile에서 개발자는 이미지로 어떤 서비스가 열리는지 빠르게 이해할 수 있습니다. EXPOSE 포트가 없으면 컨테이너 간 서비스도 서로 접근할 수 있다.

Docker에서 노출과 게시(run -p)의 차이점

여기서 주요 기록은 최근에 docker를 사용하여 발견한 약간의 의심입니다. 요약하면 다음과 같습니다.

docker에서 명령줄이 시작될 때 docker run -p 노출 인터페이스와 dockerfile의 노출 인터페이스 사이의 차이점과 연결은 무엇입니까?

구체적인 설명은 다음과 같습니다.

예를 들어 먼저 Dockerfile에 8080 포트를 노출합니다

EXPOSE 8080

그런 다음 나중에 사용할 수 있도록 이 이미지를 빌드합니다

docker build -t myimage - Dockerfile

그런 다음 docker run을 사용하여 컨테이너를 시작합니다. 이 이미지 예제 및 포트 게시

docker container run -d -p 8080 myimage

여기에 제가 언급한 질문이 있습니다. Dockerfile에서 Expose 포트 8080을 선언했는데 왜 여전히 포트(-p)를 게시해야 합니까? 둘의 차이점과 연결은 무엇인가요? 직접

docker container run -d myimage

이 경우 노출된 포트가 있나요?

테스트 후, (테스트 과정은 생략되어 관심있는 친구들이 직접 테스트해볼 수 있습니다. 사실 둘 사이에는 본질적인 차이가 있고 어느 정도의 상관관계도 있습니다.

여기에 나열하겠습니다. 4개 조합

A, Dockerfile

B에서 -p를 노출하거나 실행하지 않고 Dockerfile

C에서 포트만 노출하고 Dockerfile에서 동시에 노출하고 -p

D를 실행하고 -만 실행합니다. p

1------A의 경우, 이 컨테이너에서 시작된 서비스는 호스트 호스트와 외부 네트워크, 링크 컨테이너에서 접근할 수 없으며, 이 컨테이너 내부에서만 사용할 수 있습니다

2-- ------상황 B의 경우, 이 컨테이너에서 시작된 서비스는 docker 외부 세계(호스트 및 다른 호스트)에서 액세스할 수 없지만, 컨테이너

link

를 통해 다른 링크의 컨테이너에서 액세스할 수 있습니다. -------C 사례의 경우 시작된 cotnainer는 docker 외부 세계에서 액세스할 수 있으며, 링크 컨테이너에서도 액세스할 수 있습니다.

4---------case D의 경우, in 사실, docker 케이스 C와 동등한 특별한 암시적 변환이 이루어집니다. 외부 세계와 링크의 컨테이너에서 액세스할 수 있습니다. (이것은 docker가 포트를 열어야 하기 때문에 그렇게 믿기 때문에 사실입니다

외부 세계로 나오면 다른 컨테이너가 확실히 액세스할 수 있으므로 docker는 자동으로 Expose

권장 학습: "docker video tutorial"

위 내용은 도커에서 노출이란 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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