찾다
운영 및 유지보수Dockerdocker의 삼총사는 무엇을 의미하나요?

docker의 삼총사는 무엇을 의미하나요?

Nov 25, 2021 pm 05:42 PM
composedockerswarm

docker의 세 검객은 떼, 구성, 기계를 의미합니다. Compose는 하나 이상의 컨테이너와 애플리케이션을 정의하고 실행하는 데 사용되는 도구이고, Machine은 Docker 설치를 단순화하는 명령줄 도구이며, Swarm은 Docker 클러스터를 기본적으로 지원하는 커뮤니티에서 제공하는 도구입니다.

docker의 삼총사는 무엇을 의미하나요?

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

도커 컨테이너에 있는 검객 세 명은 떼, 구성, 기계입니다.

Compose

1. 개요

실제 프로덕션 환경에서 애플리케이션은 많은 서비스로 구성되는 경우가 많으며, Docker의 모범 사례는 컨테이너가 하나의 프로세스만 실행하므로 여러 마이크로서비스를 실행하는 것입니다. 여러 컨테이너를 실행합니다. 여러 컨테이너가 함께 작동하려면 이를 관리하고 이러한 컨테이너가 서로 어떻게 관련되는지 정의하기 위한 효과적인 도구가 필요합니다. 작곡이 탄생했습니다.

compose는 실행하고 적용할 하나 이상의 컨테이너(일반적으로 여러 개)를 정의하고 실행하는 데 사용되는 도구입니다. Compose를 사용하면 컨테이너 이미지 구성과 컨테이너 실행이 단순화될 수 있습니다.

compose는 YAML 파일을 사용하여 여러 컨테이너 간의 관계를 정의합니다. docker-compose up은 전체 애플리케이션을 실행할 수 있습니다. 기본적으로 Compose는 YAML 파일을 docker 명령의 매개변수로 구문 분석한 다음 해당 docker 명령줄 인터페이스를 호출하여 애플리케이션을 컨테이너화된 방식으로 관리합니다. 컨테이너 간의 종속성을 해결하여 컨테이너를 순차적으로 시작합니다. 컨테이너 간의 종속성은 YAML 파일의 links 태그로 지정됩니다. docker-compose up 就可以把完整的应用跑起来。 本质上, compose 把 YAML  文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间的依赖关系由 YAML 文件中的 links 标记指定。

2. compose 配置简介

Compose 是对 docker 命令的封装,默认使用 docker-compose.yml 文件指定各个命令中的参数。
一个简单的例子:

web:
  build: .
  ports:
  - 8080:80
  volumes:
  - . : /code
  links:
  - redis
redis:
  image: redis

这个 YAML 文件定义了两个服务: Web 和 Redis, 服务的名称由用户自定义。提供 Web 服务的镜像从 Dockerfile 构建; Web 服务监听80端口,并和主机的8080端口建立映射;主机的当前目录挂载到容器里的 /code 目录上;Web 服务器通过链接 Redis 容器来访问后台 Redis 数据库。而 Redis 数据库服务是通过运行 Redis 镜像来提供的。

在 docker-compose.yml 文件中,每个定义的服务都至少包含 buildimage 其中之一,其他命令都是可选的。 build 命令指定了包含 Dockerfile 的目录,可以是相对目录也可以是绝对目录。

docker-compose.yml 文件中的 "ports" 标记对应于 docker run 的 "-p"选项; "volumes"标记对应 docker run 的 "-v" 选项; "links" 标记对应 docker run 的 "--links"选项。

此外,image 用于指定服务的镜像。

最后,在 docker-compose.yml 所在的目录下执行 docker-compose up

2. Compose 구성 소개

Compose는 docker 명령

의 캡슐화입니다. 기본적으로 docker-compose.yml 파일은 각 명령의 매개변수를 지정하는 데 사용됩니다.

간단한 예:

rrreee

이 YAML 파일은 웹과 Redis라는 두 가지 서비스를 정의합니다. 서비스 이름은 사용자가 정의합니다. 웹 서비스를 제공하는 이미지는 Dockerfile에서 빌드됩니다. 웹 서비스는 포트 80을 수신하고 이를 호스트의 포트 8080에 매핑합니다. 호스트의 현재 디렉터리는 웹 서버가 액세스하는 /code 디렉터리에 마운트됩니다. Redis 컨테이너에 연결하여 백엔드 Redis 데이터베이스. Redis 데이터베이스 서비스는 Redis 이미지를 실행하여 제공됩니다.

docker-compose.yml 파일에서 정의된 각 서비스에는 build 또는 image 중 하나 이상이 포함되어 있으며 다른 명령은 선택 사항입니다. 빌드 명령은 Dockerfile이 포함된 디렉터리(상대 디렉터리 또는 절대 디렉터리)를 지정합니다.

docker-compose.yml 파일의 "ports" 태그는 docker run의 "-p" 옵션에 해당합니다. "volumes" 태그는 docker run의 "-v" 옵션에 해당합니다. docker run link의 "--" 옵션에 추가합니다. docker의 삼총사는 무엇을 의미하나요?

또한 image는 서비스의 이미지를 지정하는 데 사용됩니다.

마지막으로 docker-compose.yml이 있는 디렉터리에서 docker-compose up 명령을 실행하면 웹 서비스와 Redis 서비스가 모두 성공적으로 실행됩니다. Machine

1. 개요


Docker Machine은 Docker 설치를 단순화하는 명령줄 도구입니다. Docker는 간단한 명령줄을 통해 해당 플랫폼에 설치할 수 있으며, 사용자에게 어떤 호스트에서든 Docker 컨테이너를 실행할 수 있도록 유연한 기능을 제공합니다. 간단히 말해서 Docker Machine은 Docker 호스트와 구성된 Docker 클라이언트의 조합입니다.

🎜기술적으로 말하면 Machine은 프레임워크이며 상대적으로 개방적입니다. 가상 머신 서비스를 제공하는 모든 플랫폼에 대해 플랫폼용 드라이버가 이 프레임워크에서 개발되는 한 Docker Machine은 플랫폼에 통합되어 플랫폼에서 생성, 삭제, 시작 및 중지와 같은 작업을 수행할 수 있습니다. 🎜🎜Docker Machine의 아키텍처는 그림과 같습니다🎜🎜🎜🎜🎜🎜🎜2. Machine의 기본 개념 및 프로세스🎜🎜🎜🎜Docker Machine은 먼저 가상 머신을 생성하고 그 위에 Docker 호스트를 생성한 다음 이를 사용합니다. Docker 클라이언트 Docker 호스트와 통신하여 Docker 호스트에 이미지를 생성하고 컨테이너를 시작합니다. 🎜🎜Docker Machine을 사용하여 가상 머신을 생성하는 경우 해당 드라이버를 개발해야 합니다. 현재 이 머신을 지원하는 드라이버에는 Windows용 VirtualBox 드라이버, VMware 드라이버 및 Hyper-V 드라이버가 포함됩니다. 또한 Machine은 클라우드 호스트 생성도 지원합니다. 프레임워크 사양을 준수하는 드라이버가 개발되면 Docker Machine은 해당 플랫폼을 지원할 수 있습니다. 🎜🎜Machine이 생성한 Docker 호스트의 IP 주소는 생성된 가상 머신의 IP 주소입니다. 🎜Docker Machine과 VirtualBox 드라이버를 사용하여 로컬 가상 머신을 생성하고 Docker 호스트를 구축하는 과정은 다음과 같습니다. 🎜
  • docker-machine create --driver virtualbox dev 명령을 실행하세요. 이 명령은 먼저 Docker 클라이언트와 Docker 호스트 간의 통신을 위한 CA 인증서를 생성합니다. 다음으로 VirtualBox 가상 머신을 생성하고, 통신을 위한 TLS 매개 변수를 구성하고 네트워크를 구성한 후 마지막으로 Docker 운영 환경, 즉 Docker 호스트를 배포합니다. docker-machine create --driver virtualbox dev命令。此命令首先创建用于 Docker client 和 Docker host 通信用的 CA 证书。 其次创建 VirtualBox 虚拟机, 并配置用于通信的 TLS 参数及配置网络, 最后部署 Docker 的运行环境 即 Docker host。

  • 在 Docker client 里运行 eval "$(docker-machine env dev)"

  • Docker 클라이언트에서 eval "$(docker-machine env dev)" 명령을 실행하여 Docker 호스트 통신에 사용되는 환경 변수를 구성합니다.

docker 관련 명령을 사용하여 해당 컨테이너를 생성하거나 시작하세요.

Swarm

1. 개요


Swarm은 Docker 클러스터를 기본적으로 지원하는 Docker 커뮤니티에서 제공하는 도구입니다. 여러 Docker 호스트로 구성된 시스템을 단일 가상 Docker 호스트로 변환할 수 있습니다. Swarm은 외부 세계에 두 가지 API를 제공합니다. 하나는 Dokku, Compose, Krane, Flynn, Deis, Jenkins 등과 같은 표준 Docker API이고, 다른 하나는 클러스터 관리에 사용되는 Swarm의 클러스터 관리 API입니다.

Swarm 도구 자체는 아직 성숙되지 않았으며 프로덕션 환경에서는 사용하지 않는 것이 좋습니다.

그리고 Google의 오픈소스 Kubernetes는 현재 컨테이너 생태계에서 가장 널리 사용되는 조정 및 배포 도구입니다.
Kubernetes의 아키텍처는 여러 Minion 노드가 있는 마스터 서버를 기반으로 합니다. 아직 K8s를 접해본 적은 없습니다. 좀 더 알아보고 정리하겠습니다.

K8s 아키텍처 블록 다이어그램docker의 삼총사는 무엇을 의미하나요?

  • 구성 요소 설명:
  • 마스터: 마스터 서버, API 서비스, 백업 컨트롤러 및 스케줄러 등을 포함한 kebernetes 관리 프로세스 실행
  • Minion: Kubelet 서비스 및 Docker 엔진의 호스트입니다. Minion은 마스터의 지시를 받아들입니다.
  • Kubelet: Minion에서 실행되는 Kubernetes 노드 수준 관리자
  • Pod: 여러 컨테이너의 모음이며 이러한 컨테이너는 동일한 Minions에서 실행됩니다. . Pod는 K8s의 가장 작은 관리 단위입니다
  • Replication Controller: Pod의 수명 주기를 관리합니다
  • Service: 컨테이너를 노출할 수 있는 서비스와 포트를 정의하고 통신 및 상호 작용을 위한 외부 에이전트를 정의합니다

Kubecfg: 명령 라인 인터페이스, 마스터와 상호 작용, 애플리케이션 비즈니스 배포 및 관리 요청

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

위 내용은 docker의 삼총사는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

Linux에서 Docker를 사용하는 모범 사례에는 다음이 포함됩니다. 1. Dockerrun 명령을 사용하여 컨테이너 작성 및 실행, 2. DockerCompose를 사용하여 다중 컨테이너 응용 프로그램, 3. 정기적으로 사용되지 않은 이미지 및 컨테이너, 4. 멀티 스테이지 구조를 사용하여 이미지 크기를 최적화하기 위해 컨테이너 리소스 사용량을 제한하여 보안을 개선하기 위해 Dockerfile 모범 사례를 개선하십시오. 이러한 관행은 사용자가 Docker를 효율적으로 사용하고 일반적인 문제를 피하고 컨테이너화 된 응용 프로그램을 최적화하는 데 도움이 될 수 있습니다.

Linux와 함께 Docker 사용 : 포괄적 인 가이드Linux와 함께 Docker 사용 : 포괄적 인 가이드Apr 12, 2025 am 12:07 AM

Linux에서 Docker를 사용하면 개발 및 배포 효율성을 향상시킬 수 있습니다. 1. Docker 설치 : 스크립트를 사용하여 Ubuntu에 Docker를 설치하십시오. 2. 설치 확인 : Sudodockerrunhello-World를 실행하십시오. 3. 기본 사용 : Nginx 컨테이너 생성 Dockerrun-Namemy-Nginx-P8080 : 80-Dnginx. 4. 고급 사용 : DockerFile을 사용하여 사용자 정의 이미지를 만들고 빌드 및 실행하십시오. 5. 최적화 및 모범 사례 : 다단계 빌드 및 dockercompose를 사용하여 Dockerfiles를 작성하기위한 모범 사례를 따르십시오.

도커 모니터링 : 메트릭 수집 및 컨테이너 건강 추적도커 모니터링 : 메트릭 수집 및 컨테이너 건강 추적Apr 10, 2025 am 09:39 AM

Docker 모니터링의 핵심은 주로 CPU 사용, 메모리 사용, 네트워크 트래픽 및 디스크 I/O와 같은 지표를 포함하여 컨테이너의 작동 데이터를 수집하고 분석하는 것입니다. Prometheus, Grafana 및 Cadvisor와 같은 도구를 사용하면 컨테이너의 포괄적 인 모니터링 및 성능 최적화를 달성 할 수 있습니다.

Docker Swarm : 확장 가능하고 탄력적 인 컨테이너 클러스터 구축Docker Swarm : 확장 가능하고 탄력적 인 컨테이너 클러스터 구축Apr 09, 2025 am 12:11 AM

Dockerswarm은 확장 가능한 고도로 컨테이너 클러스터를 구축하는 데 사용될 수 있습니다. 1) Dockers -Warminit을 사용하여 떼 클러스터를 초기화하십시오. 2) Swarm 클러스터에 가입하여 Dockers-Warmjoin-Token을 사용하십시오. 3) DockerserviceCreate-namemy-nginx-replicas3nginx를 사용하여 서비스를 만듭니다. 4) DockerstackDeploy-Cdocker-Compose.ymlmyapp을 사용하여 복잡한 서비스를 배포합니다.

Kubernetes와 Docker : 엔터프라이즈 애플리케이션을위한 컨테이너 오케스트레이션Kubernetes와 Docker : 엔터프라이즈 애플리케이션을위한 컨테이너 오케스트레이션Apr 08, 2025 am 12:07 AM

Docker 및 Kubernetes를 사용하여 Enterprise Applications의 컨테이너 오케스트레이션을 수행하는 방법은 무엇입니까? 다음 단계를 통해 구현하십시오. Docker 이미지를 만들고 DockerHub로 푸시하십시오. Kubernetes에서 배포 및 서비스를 작성하여 응용 프로그램을 배포하십시오. 외부 액세스를 관리하기 위해 Insress를 사용하십시오. 성능 최적화 및 다단장 구성 및 자원 제약과 같은 모범 사례를 적용하십시오.

도커 문제 해결 : 일반적인 문제를 진단하고 해결합니다도커 문제 해결 : 일반적인 문제를 진단하고 해결합니다Apr 07, 2025 am 12:15 AM

Docker FAQ는 다음 단계를 통해 진단 및 해결할 수 있습니다. 1. 컨테이너 상태 및 로그보기, 2. 네트워크 구성 확인, 3. 볼륨이 올바르게 장착되도록하십시오. 이러한 방법을 통해 Docker의 문제는 빠르게 위치하고 고정되어 시스템 안정성과 성능을 향상시킬 수 있습니다.

Docker 인터뷰 질문 : Ace Your DevOps 엔지니어링 인터뷰Docker 인터뷰 질문 : Ace Your DevOps 엔지니어링 인터뷰Apr 06, 2025 am 12:01 AM

Docker는 DevOps 엔지니어에게 필수 기술입니다. 1. Docker는 포장 애플리케이션 및 컨테이너에 대한 종속성을 통해 격리 및 휴대 성을 달성하는 오픈 소스 컨테이너화 플랫폼입니다. 2. Docker는 네임 스페이스, 제어 그룹 및 연합 파일 시스템과 함께 작동합니다. 3. 기본 사용에는 컨테이너 생성, 실행 및 관리가 포함됩니다. 4. 고급 사용법에는 DockerCompose를 사용하여 다중 컨테이너 응용 프로그램을 관리하는 것이 포함됩니다. 5. 일반적인 오류에는 컨테이너 고장, 포트 매핑 문제 및 데이터 지속성 문제가 포함됩니다. 디버깅 기술에는 로그보기, 컨테이너 입력 및 자세한 정보보기가 포함됩니다. 6. 성능 최적화 및 모범 사례에는 이미지 최적화, 리소스 제약 조건, 네트워크 최적화 및 Dockerfile 사용을위한 모범 사례가 포함됩니다.

Docker Security Hardening : 컨테이너를 취약성으로부터 보호합니다Docker Security Hardening : 컨테이너를 취약성으로부터 보호합니다Apr 05, 2025 am 12:08 AM

Docker Security 향상 방법에는 다음이 포함됩니다. 1.-캡 드롭 매개 변수를 사용하여 Linux 기능을 제한, 2. 읽기 전용 컨테이너 생성, 3. Selinux 태그 설정. 이러한 전략은 취약성 노출을 줄이고 공격자 기능을 제한함으로써 컨테이너를 보호합니다.

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

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기