목차
Compose
운영 및 유지보수 Docker docker의 삼총사는 무엇을 의미하나요?

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

Nov 25, 2021 pm 05:42 PM
compose docker swarm

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으로 문의하세요.

핫 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를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

pycharm으로 프로젝트를 패키징하는 방법 pycharm으로 프로젝트를 패키징하는 방법 Apr 25, 2024 am 03:54 AM

PyCharm에서 프로젝트를 패키징하는 방법에는 네 가지가 있습니다. 별도의 실행 파일로 패키징: EXE 단일 파일 형식으로 내보냅니다. 설치 프로그램으로 패키지됨: Setuptools Makefile을 생성하고 빌드합니다. Docker 이미지로 패키징: 이미지 이름을 지정하고, 빌드 옵션을 조정하고, 빌드합니다. 컨테이너로 패키징: 빌드할 이미지를 지정하고, 런타임 옵션을 조정하고, 컨테이너를 시작합니다.

PHP 마이크로서비스 컨테이너화의 민첩한 개발 및 운영 PHP 마이크로서비스 컨테이너화의 민첩한 개발 및 운영 May 08, 2024 pm 02:21 PM

답변: PHP 마이크로서비스는 민첩한 개발을 위해 HelmCharts로 배포되고 격리 및 확장성을 위해 DockerContainer로 컨테이너화됩니다. 자세한 설명: HelmCharts를 사용하여 PHP 마이크로서비스를 자동으로 배포하여 민첩한 개발을 달성하세요. Docker 이미지를 사용하면 마이크로서비스의 신속한 반복 및 버전 제어가 가능합니다. DockerContainer 표준은 마이크로서비스를 격리하고 Kubernetes는 컨테이너의 가용성과 확장성을 관리합니다. Prometheus 및 Grafana를 사용하여 마이크로서비스 성능 및 상태를 모니터링하고 경보 및 자동 복구 메커니즘을 생성하세요.

PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? Mar 05, 2025 pm 05:57 PM

Pinetwork 노드에 대한 자세한 설명 및 설치 안내서이 기사에서는 Pinetwork Ecosystem을 자세히 소개합니다. Pi 노드, Pinetwork 생태계의 주요 역할을 수행하고 설치 및 구성을위한 전체 단계를 제공합니다. Pinetwork 블록 체인 테스트 네트워크가 출시 된 후, PI 노드는 다가오는 주요 네트워크 릴리스를 준비하여 테스트에 적극적으로 참여하는 많은 개척자들의 중요한 부분이되었습니다. 아직 Pinetwork를 모른다면 Picoin이 무엇인지 참조하십시오. 리스팅 가격은 얼마입니까? PI 사용, 광업 및 보안 분석. Pinetwork 란 무엇입니까? Pinetwork 프로젝트는 2019 년에 시작되었으며 독점적 인 Cryptocurrency Pi Coin을 소유하고 있습니다. 이 프로젝트는 모든 사람이 참여할 수있는 사람을 만드는 것을 목표로합니다.

Docker는 3분 만에 LLama3 오픈 소스 대규모 모델의 로컬 배포를 완료합니다. Docker는 3분 만에 LLama3 오픈 소스 대규모 모델의 로컬 배포를 완료합니다. Apr 26, 2024 am 10:19 AM

개요 LLaMA-3(LargeLanguageModelMetaAI3)은 Meta Company에서 개발한 대규모 오픈소스 생성 인공지능 모델입니다. 이전 세대 LLaMA-2에 비해 모델 구조에는 큰 변화가 없습니다. LLaMA-3 모델은 다양한 애플리케이션 요구 사항과 컴퓨팅 리소스에 맞게 소형, 중형, 대형을 포함한 다양한 규모 버전으로 구분됩니다. 소형 모델의 모수 크기는 8B, 중형 모델의 모수 크기는 70B, 대형 모델의 모수 크기는 400B에 이릅니다. 그러나 훈련 중에는 다중 모달 및 다중 언어 기능을 달성하는 것이 목표이며 결과는 GPT4/GPT4V와 비슷할 것으로 예상됩니다. Ollama 설치Ollama는 오픈 소스 대형 언어 모델(LL

golang 프로그램을 시작하는 방법 golang 프로그램을 시작하는 방법 Apr 21, 2024 am 12:47 AM

Go 프로그램을 시작하는 방법에는 네 가지가 있습니다. 명령줄 사용: go run main.go IDE의 "실행" 또는 "디버그" 메뉴를 통해 시작 컨테이너 오케스트레이션 도구(예: Docker 또는 Kubernetes)를 사용하여 컨테이너 시작 systemd 또는 사용 Unix 시스템의 감독자 시스템 서비스로 실행

DeepSeek을 설치하는 방법 DeepSeek을 설치하는 방법 Feb 19, 2025 pm 05:48 PM

Docker 컨테이너를 사용하여 사전 컴파일 된 패키지 (Windows 사용자의 경우)를 사용하여 소스 (숙련 된 개발자)를 컴파일하는 것을 포함하여 DeepSeek를 설치하는 방법에는 여러 가지가 있습니다. 공식 문서는 신중하게 문서를 작성하고 불필요한 문제를 피하기 위해 완전히 준비합니다.

PHP 분산 시스템 아키텍처 및 실습 PHP 분산 시스템 아키텍처 및 실습 May 04, 2024 am 10:33 AM

PHP 분산 시스템 아키텍처는 네트워크에 연결된 시스템 전체에 다양한 구성 요소를 분산하여 확장성, 성능 및 내결함성을 달성합니다. 아키텍처에는 애플리케이션 서버, 메시지 대기열, 데이터베이스, 캐시 및 로드 밸런서가 포함됩니다. PHP 애플리케이션을 분산 아키텍처로 마이그레이션하는 단계는 다음과 같습니다. 서비스 경계 식별 메시지 대기열 시스템 선택 마이크로서비스 프레임워크 채택 컨테이너 관리에 배포 서비스 검색

컨테이너화를 통해 Java 기능의 성능을 최적화하는 방법은 무엇입니까? 컨테이너화를 통해 Java 기능의 성능을 최적화하는 방법은 무엇입니까? Apr 29, 2024 pm 03:09 PM

컨테이너화는 다음과 같은 방식으로 Java 기능 성능을 향상시킵니다. 리소스 격리 - 격리된 컴퓨팅 환경을 보장하고 리소스 경합을 방지합니다. 경량 - 시스템 리소스를 덜 차지하고 런타임 성능을 향상시킵니다. 빠른 시작 - 기능 실행 지연을 줄입니다. 일관성 - 애플리케이션과 인프라를 분리하여 환경 전체에서 일관된 동작을 보장합니다.

See all articles