찾다
운영 및 유지보수Docker도커는 컨테이너인가요?

Docker는 컨테이너가 아닙니다. 컨테이너는 애플리케이션이 한 환경에서 다른 환경으로 빠르고 안정적으로 실행될 수 있도록 개발, 전달 및 배포에 사용되는 코드 및 모든 종속 소프트웨어를 패키징하는 표준 단위입니다. 한 가지 구현은 컨테이너를 관리하는 데 사용되는 오픈 소스 애플리케이션 컨테이너 엔진입니다.

도커는 컨테이너인가요?

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

Docker는 컨테이너가 아닙니다

Docker와 컨테이너의 관계

컨테이너 하면 가장 먼저 떠오르는 것이 Docker이지만 컨테이너는 Docker와 다릅니다. VMware가 가상 머신의 구현인 것처럼 컨테이너를 관리하는 데 사용되는 컨테이너 기술의 구현일 뿐입니다. Docker 외에도 LXC/LXD 및 rkt와 같은 컨테이너 기술 구현도 있지만 Docker가 가장 유명합니다.

컨테이너란 무엇인가요

Docker의 컨테이너에 대한 공식 설명을 한 문장으로 표현하면, 컨테이너(컨테이너)는 소프트웨어를 개발, 전달, 배포를 위해 표준화된 단위로 패키징하는 것입니다. 컨테이너는 코드와 모든 종속 소프트웨어를 패키징하기 위한 표준 단위로, 애플리케이션이 한 환경에서 다른 환경으로 빠르고 안정적으로 실행될 수 있도록 해줍니다. 컨테이너 이미지는 코드, 런타임 환경, 시스템 도구, 시스템 라이브러리, 설정 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함된 가볍고 실행 가능한 독립적인 소프트웨어 패키지입니다. 컨테이너화된 소프트웨어는 Linux 및 Windows 기반 애플리케이션에 사용할 수 있으며 모든 환경에서 일관되게 실행됩니다. 컨테이너는 소프트웨어 독립성을 제공하여 소프트웨어를 환경에서 격리하고 개발 및 스테이징 환경과 같은 서로 다른 환경에서 균일하게 실행되도록 보장합니다.

컨테이너는 런타임에 필요한 애플리케이션(컴파일) 코드와 종속성을 패키지화하는 데 사용되는 기술이기도 합니다. 각 컨테이너 실행은 반복될 수 있으며 종속성 포함을 통한 표준화는 컨테이너를 실행하는 모든 환경에서 동일한 동작을 얻을 수 있음을 의미합니다. 컨테이너는 호스트 인프라에서 애플리케이션을 분리하므로 다양한 클라우드 및 운영 체제 환경에 더 쉽게 배포할 수 있습니다. 컨테이너는 변경할 수 없으며 실행 중인 컨테이너의 코드는 변경할 수 없습니다. 컨테이너화된 애플리케이션을 변경해야 하는 경우 변경 사항을 포함하는 새 컨테이너를 구축하고 업데이트된 이미지에서 컨테이너를 다시 생성해야 합니다.

컨테이너 기술은 본질적으로 시스템 리소스를 격리하고 제어하여 컨테이너 프로세스가 자체 독립 네임스페이스에서 실행될 수 있도록 합니다. 컨테이너는 자체 파일 시스템, 네트워크 구성, 프로세스 공간 등을 가질 수 있습니다. 컨테이너의 프로세스는 격리된 환경에서 실행됩니다. 이는 호스트와 독립적인 시스템에서 작동하는 것과 같기 때문에 컨테이너를 어디에서나 매우 편리하게 실행할 수 있습니다. .

컨테이너의 장점

컨테이너의 주요 장점은 다음과 같이 요약됩니다.

  • 사용하기 쉽고 효율적입니다. 가상 머신 이미지에 비해 컨테이너 이미지는 사용하기 쉽고 효율적입니다. 컨테이너는 크기가 작고 시작이 빠르며 외부 인프라 환경에 바인딩할 필요가 없어 개발부터 생산 환경까지 일관성 문제를 완벽하게 해결합니다.

  • 모니터링 및 관리: 컨테이너는 가상 머신보다 투명하며 모니터링 및 관리가 용이합니다. 특히, 컨테이너 프로세스의 수명주기는 프로세스 관리자가 컨테이너 내부에 숨기는 것이 아니라 인프라에 의해 관리됩니다. 마지막으로 각 애플리케이션은 컨테이너에 패키징되며 컨테이너 배포 관리는 애플리케이션 배포 관리와 동일합니다.

  • 지속적인 통합 및 배포: 컨테이너는 환경적 차이를 제거하고 애플리케이션 수명 주기 환경의 일관성과 표준화를 보장합니다. 개발자는 이미지를 사용하여 개발이 완료된 후 전체 환경과 애플리케이션 이미지가 캡슐화됩니다. 테스트 운영 및 유지 관리 담당자는 테스트 및 릴리스를 위해 이미지를 직접 배포하여 지속적인 통합, 테스트 및 릴리스 프로세스를 단순화할 수 있습니다.

  • 환경 표준화 및 버전 제어: 컨테이너가 제공하는 환경 일관성 및 표준화를 기반으로 컨테이너 이미지의 버전 제어가 가능합니다. 즉, 전체 운영 환경의 버전 제어가 가능하여 안정적이고 빈번한 컨테이너 이미지 구축을 제공합니다. 배포 및 신속한 간편한 롤백.

  • 효율적인 리소스 활용 및 격리: 컨테이너는 하이퍼바이저의 추가 오버헤드가 없으며 기본 계층과 운영 체제를 공유합니다. 동일한 조건에서 더 많은 애플리케이션 인스턴스를 실행하고 최대한 활용할 수 있습니다. 시스템 리소스의 컨테이너는 또한 우수한 리소스 격리 및 제어 기능을 갖추고 있으며 애플리케이션이 서로 영향을 미치지 않도록 시스템 리소스를 정확하게 할당할 수 있습니다.

  • 관찰 가능: 운영 체제뿐만 아니라 애플리케이션 자체의 정보와 측정항목도 표시합니다.

  • 클라우드 및 OS 배포 이식성: Ubuntu, RHEL, CoreOS, 물리적 머신, GKE 등 어디에서나 실행됩니다.

  • 애플리케이션 중심: 기존 하드웨어에 운영 체제를 배포하는 것부터 운영 체제에 애플리케이션을 배포하는 것까지.

  • 느슨하게 결합되고, 분산되고, 탄력적이며 마이크로서비스: 애플리케이션은 전용 장치에서 실행되는 대규모 모놀리식 프로그램이 아니라 동적으로 관리 및 배포할 수 있는 더 작고 독립적인 모듈로 나뉩니다.

Docker란 무엇입니까

Docker는 의심할 여지 없이 많은 컨테이너 기술 중 선두주자입니다. Docker가 무엇인지에 대해 다음 사항으로 요약할 수 있습니다.

Docker는 오픈 소스 컨테이너 프로젝트이며 코드는 GitHub에서 유지 관리되며 Apache 2.0 프로토콜을 따릅니다. Linux 가입 주류 운영 체제 및 클라우드 서비스 제공업체의 지원을 받는 재단은 OCI(Open Container Alliance)를 촉진하기 위해 설립되었습니다.

Docker는 Google의 Go 언어를 사용하여 개발 및 구현되며 Linux 커널의 네임스페이스(namespace), 컨트롤 그룹(cgroup) 및 OverlayFS와 같은 Union FS를 기반으로 운영 체제에서 가상화되는 프로세스를 캡슐화하고 격리합니다. 수준. 격리된 프로세스는 호스트 및 기타 격리된 프로세스와 독립적이므로 컨테이너라고도 합니다.

Docker는 원래 Linux 컨테이너(LXC)를 기반으로 구현되었으며 나중에 LXC를 자체 개발한 libcontainer로 대체한 후 runc 및 Containerd를 사용하도록 더욱 발전했습니다.

Docker는 컨테이너 내에서 애플리케이션을 신속하고 자동으로 배포할 수 있는 효율적이고 민첩하며 가벼운 컨테이너 솔루션을 제공합니다. 운영 체제 커널 기술을 통해 컨테이너에 대한 리소스 격리 및 보안을 제공하여 컨테이너 생성 및 유지 관리를 크게 단순화하고 Deploy to on을 지원합니다. -프레미스 환경 및 여러 클라우드 플랫폼. 즉, Docker는 애플리케이션 개발, 실행, 배포를 위한 원스톱 솔루션을 제공합니다.

runc는 OCI 컨테이너 런타임 사양에 따라 컨테이너를 생성하고 실행하기 위한 Linux 명령줄 도구입니다.

containerd는 컨테이너 수명주기를 관리하고 노드에서 컨테이너를 실행하고 이미지를 관리하기 위한 최소한의 기능 집합을 제공하는 데몬입니다.

Docker의 장점

새로운 가상화 방법으로 Docker는 기존 가상화 방법에 비해 많은 장점을 가지고 있습니다. 구체적인 요약은 다음과 같습니다.

  • 시스템 리소스의 보다 효율적인 사용: 컨테이너는 하드웨어 가상화와 같은 추가 오버헤드가 필요하지 않으며 전체 운영 체제를 실행하면 Docker는 시스템 리소스의 활용도가 높고 수요가 적으며 더 높은 목표를 달성할 수 있습니다. 성능. 동일한 구성을 가진 호스트는 가상 머신보다 컨테이너를 사용하여 더 많은 수의 애플리케이션을 실행할 수 있습니다.

  • 더 빠른 시작 시간: Docker 컨테이너 애플리케이션은 몇 초 또는 밀리초 단위의 시작 시간을 달성할 수 있습니다. 이를 통해 개발, 테스트 및 배포 시간이 크게 절약됩니다.

  • 일관적인 실행 환경: Docker 이미지는 커널을 제외한 완전한 런타임 환경을 제공하여 애플리케이션 실행 환경의 일관성을 보장하므로 더 이상 다른 환경에서 동일한 코드를 실행할 수 없는 문제가 발생하지 않습니다.

  • 지속적 전달 및 배포: Docker를 사용하면 애플리케이션 이미지를 사용자 지정하여 지속적인 통합, 지속적인 전달 및 배포를 달성할 수 있습니다. 개발자는 Dockerfile을 통해 이미지를 구축하고 지속적 통합 시스템으로 통합 테스트를 수행합니다. 운영 및 유지 관리 담당자는 이미지를 프로덕션 환경에 직접 빠르게 배포하거나 자동 배포를 위해 지속적 배포 시스템과 함께 사용할 수도 있습니다.

  • 더 쉬워진 마이그레이션: Docker는 실행 환경의 일관성을 보장하므로 실행 환경의 변경으로 인해 애플리케이션이 제대로 실행되지 않을 것을 걱정하지 않고 서로 다른 플랫폼 간에 애플리케이션을 더 쉽게 마이그레이션할 수 있습니다.

  • 더 쉬워진 유지 관리 및 확장: Docker가 사용하는 계층형 스토리지 및 미러링 기술을 사용하면 애플리케이션의 반복되는 부분을 더 쉽게 재사용할 수 있으며 기본 기반으로 애플리케이션의 유지 관리 및 업데이트도 더 간단해집니다. 거울도 매우 단순해집니다. Docker는 또한 다수의 고품질 공식 이미지를 유지 관리하여 애플리케이션 서비스의 이미지 생성 비용을 더욱 절감합니다.

  • 좋은 격리: Docker는 컨테이너에 대한 안정적인 리소스 격리 및 보안 보장을 제공하여 컨테이너가 시스템 리소스를 정확하게 할당하고 애플리케이션이 서로 영향을 미치지 않도록 보장합니다.

  • 탄력적 확장: 집중적으로 발생하는 서버 사용 압력을 처리하고 애플리케이션을 동적으로 관리하는 데 적합합니다.

추천 학습: "docker 비디오 튜토리얼"

위 내용은 도커는 컨테이너인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

Docker에서 MySQL 구성에는 다음 단계가 필요합니다. 공식 MySQL 이미지를 기반으로 Docker 이미지를 만듭니다. 컨테이너를 시작하고 MySQL 루트 암호, 데이터베이스 이름 및 포트 매핑을 지정하십시오. Docker Exec 명령을 사용하여 컨테이너에 연결하고 MySQL 명령 줄 인터페이스를 사용하여 구성하십시오.

Docker 이미지를 내보내는 방법Docker 이미지를 내보내는 방법Apr 15, 2025 am 10:54 AM

Docker 이미지를 내보내는 두 가지 방법이 있습니다. 이미지를 TAR 파일에 저장하거나 레지스트리로 푸시하십시오. 내보내기 이미지는 로컬 도커 데몬에로드하거나 레지스트리에서 당겨서 사용할 수 있습니다.

도커 포트 매핑 방법도커 포트 매핑 방법Apr 15, 2025 am 10:51 AM

포트 매핑을 사용하면 컨테이너의 내부 포트가 호스트 포트에 매핑되어 외부 세계가 컨테이너 내의 서비스 또는 응용 프로그램에 액세스 할 수 있습니다. 특정 방법은 Docker Run 명령에서 -p 옵션을 사용하여 포트 매핑을 수행하는 것입니다. 구문은 다음과 같습니다. -p & lt; host port & gt; : & lt; 컨테이너 포트 & gt;. 예를 들어, 다음 명령은 컨테이너의 8080 포트를 호스트의 80 포트에 매핑합니다. Docker Run -P 80 : 8080 이미지 이름. 포트 매핑 혜택에는 쉽게 액세스, 디버깅 및 테스트, 격리 및 포트 충돌, 보안 및 방화벽 설정에주의를 기울여야 할 필요성이 포함됩니다.

도커 이미지를 만드는 방법도커 이미지를 만드는 방법Apr 15, 2025 am 10:48 AM

도커 이미지를 만드는 방법? 이미지를 작성하는 데 필요한 지침을 지정하여 Dockerfile을 만듭니다. Docker 빌드로 이미지를 빌드하십시오. Docker 태그로 이미지에 태그를 추가하십시오. (선택 사항) Docker Push를 사용하여 이미지를 레지스트리로 밀어 넣습니다.

도커 이미지를 실행하는 방법도커 이미지를 실행하는 방법Apr 15, 2025 am 10:45 AM

도커 이미지를 실행하는 방법? 필수 이미지를 당기십시오 : Docker Pull & Lt; Mirror Name & Gt; 실행 컨테이너 : Docker Run & Lt; Options & Gt; & lt; mirror name & gt; 컨테이너 연결 : docker exec -it & lt; 컨테이너 id & gt; /bin/bash stop 컨테이너 : Docker stop & lt; 컨테이너 ID & gt; 컨테이너 삭제 : Docker RM & lt; 컨테이너 ID & gt;

Docker의 태그 없음을 삭제하는 방법Docker의 태그 없음을 삭제하는 방법Apr 15, 2025 am 10:42 AM

표시되지 않은 이미지를 수동으로 삭제하거나 Docker CLI 플러그인을 사용하여 태그를 배치로 삭제할 수 없습니다. 수동 삭제에는 표시되지 않은 이미지를 찾고 미러 ID를 얻은 다음 이미지를 삭제하는 것이 포함됩니다. 배치 삭제의 경우 docker images 명령 -f mangling = true -q | Xargs Docker RMI 표시되지 않은 모든 이미지를 삭제합니다.

도커 클러스터를 구축하는 방법도커 클러스터를 구축하는 방법Apr 15, 2025 am 10:39 AM

Docker 클러스터를 구축하는 두 가지 주요 방법이 있습니다. Kubernetes 및 Docker Swarm과 같은 컨테이너 오케스트레이션 도구를 사용하거나 Amazon ECS와 같은 타사 서비스를 사용하십시오. 컨테이너 오케스트레이션 도구를 사용하여 클러스터를 구축하려면 클러스터 설정, Docker 컨테이너 런타임 설치 및 응용 프로그램 배포가 필요합니다. 타사 서비스를 사용하는 동안 계정 만 생성, 클러스터 생성 및 응용 프로그램 배포 만 필요합니다.

Docker 이미지를 사용하는 방법Docker 이미지를 사용하는 방법Apr 15, 2025 am 10:36 AM

Docker 이미지는 패키지 애플리케이션 코드 및 종속성을 포장하는 휴대용 장치이며 고립 된 컨테이너 환경을 만드는 데 사용할 수 있습니다. 이미지를 사용하려면 이미지를 가져와 이미지를 실행하여 컨테이너 관리 (예 : 시작, 중지, 다시 시작) 볼륨 마운트 (컨테이너와 호스트 간의 데이터 공유) 포트 매핑을 설정합니다 (호스트에서 컨테이너 응용 프로그램에 액세스)

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는