>운영 및 유지보수 >Docker >도커란 무엇입니까? 무엇을 할 수 있나요?

도커란 무엇입니까? 무엇을 할 수 있나요?

青灯夜游
青灯夜游원래의
2021-11-25 16:59:5129226검색

Docker는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 1. 신속한 개발 환경 구축 2. 프로덕션 환경 시뮬레이션 3. 자동 배포 5. 지속적인 통합 6. 단일 시스템에서 모든 서비스를 관리합니다. 7. QPS 등을 확장합니다.

도커란 무엇입니까? 무엇을 할 수 있나요?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.

도커란 무엇인가요?

Docker는 개발자가 애플리케이션 및 종속성 패키지를 이식 가능한 이미지로 패키징한 다음 널리 사용되는 Linux 또는 Windows 운영 체제 시스템에 게시할 수 있는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 컨테이너는 샌드박스 메커니즘을 완전히 사용하며 서로 인터페이스가 없습니다.

Docker는 무엇을 할 수 있나요?

1. 신속한 개발 환경 설정

로컬 시스템에서 Magento를 빠르게 사용해 봐야 합니까, 아니면 프로젝트에 MySQL을 사용해야 합니까? 아니면 대부분의 오픈 소스 프로젝트를 시험해보고 싶으신가요? 그런 다음 Docker를 사용하면 많은 시간을 절약할 수 있습니다. Docker는 개발자의 개발 효율성을 향상시키고 개발 환경을 빠르게 구축할 수 있게 해줍니다.

개발 환경의 머신은 일반적으로 메모리가 상대적으로 적습니다. 이전에는 개발 환경에서 머신에 메모리를 추가해야 하는 경우가 많았습니다. 그러나 Docker를 사용하면 Docker에서 수십 가지 서비스를 쉽게 실행할 수 있습니다.

2. 마이크로서비스

마이크로서비스를 사용하고 있나요? 마이크로서비스 아키텍처 – 모놀리식 애플리케이션을 느슨하게 결합된 개별 서비스로 분할합니다.

그런 다음 Docker를 고려하면 각 서비스를 Docker 이미지로 패키징하고 docker-compose를 사용하여 프로덕션 환경(체크아웃 Docker 네트워크)을 시뮬레이션할 수 있습니다. 처음에는 시간이 많이 걸리고 힘들 수 있지만 장기적으로 보면 궁극적으로 엄청난 생산성을 얻을 수 있습니다.

3. 자동화된 테스트

자동 통합 테스트 사례를 작성하는 방법에 대해 생각해 보세요. 이러한 테스트 사례는 실행을 시작하는 데 오랜 시간이 걸리지 않으며 사용자가 쉽게 관리할 수 있습니다.

Docker에서 테스트 케이스를 실행하는 것이 아니라 이미지와 밀접하게 테스트 케이스를 실행한다는 의미입니다. Docker 이미지에 대한 테스트 사례를 작성하면 큰 이점이 있습니다. 다음은 내 테스트 프로세스에 대한 간략한 소개입니다. 두 개의 도커 이미지(app + db)를 실행하고, MySQL이 시작될 때 데이터를 로드하고, 앱 도커에서 API를 사용합니다.

4. 자체 배포

자체 배포에는 도커 이미지를 사용할 수 있습니다. 많은 주요 호스팅 제공업체가 호스팅된 도커를 지원하며, 셸 액세스가 가능한 전용 노드/VM이 있으면 작업이 더 쉬워집니다. docker를 설정하고 원하는 포트에서 이미지를 실행하면 됩니다.

5. 지속적 통합/지속적 배포

Docker는 당연히 지속적 통합/지속적 배포에 적합하다고 합니다. 배포에 Docker를 사용하면 지속적 배포가 매우 간단해지고 새 이미지를 입력한 후에 완료됩니다. .

이 부분의 자동화와 관련하여 이제 선택할 수 있는 솔루션이 많이 있으며, Kubernetes는 친숙한 이름입니다. Kubernetes는 컨테이너 클러스터의 자동 배포, 자동 확장 및 축소, 유지 관리 및 기타 기능을 실현할 수 있는 오픈 소스 플랫폼입니다.

6. 다중 테넌트 환경(Multi-tenancy)

Docker의 흥미로운 사용 시나리오는 주요 응용 프로그램을 다시 작성할 필요가 없는 다중 테넌트 응용 프로그램입니다. 애플리케이션 서비스를 여러 테넌트(테넌트는 조직과 같은 사용자 그룹임)에 노출하는 경우 단일 테넌트 솔루션으로 설계된 애플리케이션은 하위 도메인 + Docker를 사용하면 다중 테넌트 서비스를 빠르게 얻을 수 있습니다.

이 시나리오의 예로는 IoT 애플리케이션을 위한 빠르고 사용하기 쉬운 다중 테넌트 환경을 개발하는 것입니다. 이런 종류의 멀티 테넌시(Multi-tenancy)의 기본 코드는 매우 복잡하고 다루기 어렵습니다. 이러한 애플리케이션을 다시 계획하는 것은 시간이 많이 걸릴 뿐만 아니라 비용도 낭비됩니다. Docker를 사용하면 각 테넌트 애플리케이션 계층의 여러 인스턴스에 대한 격리된 환경을 만들 수 있습니다. 이는 간단할 뿐만 아니라 비용도 저렴합니다. 물론 이 모든 것은 Docker 환경의 시작 속도와 효율적인 diff 명령의 이점을 제공합니다.

7. 하나의 컴퓨터에 여러 앱

위에서 언급한 마이크로서비스와 다소 관련이 있지만, 마이크로서비스를 사용하지 않고 서비스만 제공하는 경우에도 Docker는 모든 서비스를 단일 장치에서 쉽게 관리할 수 있어 매우 유용합니다. 기계. 각 데이터 기반 Docker 이미지의 데이터를 유지하려면 폴더 탑재를 사용해야 합니다.

8. QPS 확장(Scaling QPS)

Docker를 사용하면 다른 컨테이너를 만들어 쉽게 수평으로 확장할 수 있습니다. 엄청난 트래픽이 발생하는 경우 Docker가 문제 해결에 도움을 줄 수 있습니다. 머신을 더 추가하고 로드 밸런서 뒤에서 실행되는 컨테이너 수를 늘리면 됩니다.

docker를 사용하면 어떤 이점이 있나요

1. 작동이 간단하고, 이전의 복잡한 애플리케이션 설치 단계를 단순화하면 매우 쉽습니다.

2. 웹 애플리케이션, 백그라운드 애플리케이션, 데이터베이스 애플리케이션, Hadoop 클러스터, 메시지 대기열 등과 같은 빅 데이터 애플리케이션과 호환되어 배포할 수 있습니다.

3. 비용 절감 Docker와 클라우드를 결합하면 고성능과 저렴한 가격을 얻을 수 있습니다

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

위 내용은 도커란 무엇입니까? 무엇을 할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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