docker의 세 검객은 떼, 구성, 기계를 의미합니다. Compose는 하나 이상의 컨테이너와 애플리케이션을 정의하고 실행하는 데 사용되는 도구이고, Machine은 Docker 설치를 단순화하는 명령줄 도구이며, Swarm은 Docker 클러스터를 기본적으로 지원하는 커뮤니티에서 제공하는 도구입니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
도커 컨테이너에 있는 검객 세 명은 떼, 구성, 기계입니다.
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 文件中,每个定义的服务都至少包含 build
或image
其中之一,其他命令都是可选的。 build 命令指定了包含 Dockerfile 的目录,可以是相对目录也可以是绝对目录。
docker-compose.yml 文件中的 "ports" 标记对应于 docker run 的 "-p"选项; "volumes"标记对应 docker run 的 "-v" 选项; "links" 标记对应 docker run 的 "--links"选项。
此外,image
用于指定服务的镜像。
最后,在 docker-compose.yml 所在的目录下执行 docker-compose up
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의 "--" 옵션에 추가합니다.
또한image
는 서비스의 이미지를 지정하는 데 사용됩니다. 마지막으로 docker-compose.yml이 있는 디렉터리에서 docker-compose up
명령을 실행하면 웹 서비스와 Redis 서비스가 모두 성공적으로 실행됩니다. Machine
Docker Machine은 Docker 설치를 단순화하는 명령줄 도구입니다. Docker는 간단한 명령줄을 통해 해당 플랫폼에 설치할 수 있으며, 사용자에게 어떤 호스트에서든 Docker 컨테이너를 실행할 수 있도록 유연한 기능을 제공합니다. 간단히 말해서 Docker Machine은 Docker 호스트와 구성된 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)"
eval "$(docker-machine env dev)"
명령을 실행하여 Docker 호스트 통신에 사용되는 환경 변수를 구성합니다.
Swarm
1. 개요
Swarm은 Docker 클러스터를 기본적으로 지원하는 Docker 커뮤니티에서 제공하는 도구입니다. 여러 Docker 호스트로 구성된 시스템을 단일 가상 Docker 호스트로 변환할 수 있습니다. Swarm은 외부 세계에 두 가지 API를 제공합니다. 하나는 Dokku, Compose, Krane, Flynn, Deis, Jenkins 등과 같은 표준 Docker API이고, 다른 하나는 클러스터 관리에 사용되는 Swarm의 클러스터 관리 API입니다.
그리고 Google의 오픈소스 Kubernetes는 현재 컨테이너 생태계에서 가장 널리 사용되는 조정 및 배포 도구입니다.
Kubernetes의 아키텍처는 여러 Minion 노드가 있는 마스터 서버를 기반으로 합니다. 아직 K8s를 접해본 적은 없습니다. 좀 더 알아보고 정리하겠습니다.
K8s 아키텍처 블록 다이어그램
Kubecfg: 명령 라인 인터페이스, 마스터와 상호 작용, 애플리케이션 비즈니스 배포 및 관리 요청
추천 학습: "🎜docker 비디오 튜토리얼🎜"🎜위 내용은 docker의 삼총사는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!