도커에서 노출이란 무엇을 의미합니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

국내 거울 소스로 전환 할 수 있습니다. 단계는 다음과 같습니다. 1. 구성 파일 /etc/docker/daemon.json 편집 및 미러 소스 주소를 추가하십시오. 2. 저장 및 종료 후 Docker Service Sudo SystemCTL Docker를 다시 시작하여 이미지 다운로드 속도 및 안정성을 향상시킵니다.

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Docker 버전을 얻으려면 다음 단계를 수행 할 수 있습니다. Docker 명령 "Docker -version"을 실행하여 클라이언트 및 서버 버전을 볼 수 있습니다. Mac 또는 Windows의 경우 Docker Desktop GUI의 버전 탭 또는 Aff Docker Desktop 메뉴를 통해 버전 정보를 볼 수도 있습니다.

Docker LNMP 컨테이너 호출 단계 : 컨테이너 실행 : Docker Run -D-- 이름 LNMP -Container -P 80:80 -P 443 : 443 LNMP -Stack 컨테이너 IP를 얻으려면 Docker LNMP -Container | grep iPaddress 액세스 웹 사이트 : http : // & lt; 컨테이너 ip & gt;/index.phpssh 액세스 : docker exec -it lnmp -container bash access mysql : mysql -u roo

Docker Private Repositories를 구축하여 컨테이너 이미지를 안전하게 저장하고 관리하여 엄격한 제어 및 보안을 제공 할 수 있습니다. 단계에는 리포지토리 생성, 액세스 부여, 저장소 배포, 이미지 밀기 및 이미지를 당기는 단계가 포함됩니다. 보안, 버전 제어, 네트워크 트래픽 감소 및 사용자 정의가 장점이 있습니다.

Docker에 이미지를 저장하려면 Docker Commit 명령을 사용하여 지정된 컨테이너의 현재 상태가 포함 된 새 이미지를 만들 수 있습니다. 구문 : Docker Commit [옵션] 컨테이너 ID 이미지 이름. 이미지를 저장소에 저장하려면 Docker Push 명령 인 Syntax : Docker 푸시 이미지 이름 [: tag]을 사용할 수 있습니다. 저장된 이미지를 가져 오려면 Docker Pull 명령 인 Syntax : Docker Pull Image Name [: Tag]을 사용할 수 있습니다.

Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)
