이 글은 Compose 파일 구조와 Docker Compose 도구 설치에 대한 지식을 포함하여 Docker에서의 Compose에 대한 지식을 제공합니다.
Docker Compose란 무엇인가요?
Docker compose는 다양한 컨테이너에서 실행되는 다양한 서버를 오케스트레이션하고 통합하는 컨테이너 오케스트레이션 기능입니다.
통합된 방식으로 대부분의 컨테이너를 관리하는 데 사용할 수 있습니다. 네트워크, 포트, 마운트 등을 포함하되 이에 국한되지 않습니다. Compose는 컨테이너 및 이미지와 관련된 일련의 작업을 수행하는 데 사용할 수 있습니다. 그것은 컨테이너를 관리하는 기능입니다
1. Compose 파일 구조
1. yml 파일
Compose의 파일 구조는 일반적으로 yml 파일의 구조를 의미합니다.
yml 파일은 키-값 형식의 파일입니다.
yml 파일은 형식에 매우 민감합니다.
- 공백 들여쓰기만 인식하고 탭 키의 들여쓰기 형식은 인식하지 않습니다.
- 보통 공백 두 개로 시작 부분을 들여쓰기합니다
- 문자 뒤 콜론, 쉼표, 대시 및 기타 문자를 포함하되 이에 국한되지 않는 한 칸씩 들여쓰기합니다. 문자는 한 칸 들여쓰기해야 합니다
- 댓글 지원 #
- 특수 문자가 포함된 경우 작은따옴표로 묶어야 합니다.
- 부울 값은 따옴표로 묶어야 합니다
예:
house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34 street: Main Street city: Nowheretown zipcode: 1234
yml 위와 같은 파일 형식으로, 레벨별 대응이 필요하며 레벨 사이에는 공백이 두 개 있습니다.
참고: 키의 한 수준에 여러 값이 있는 경우 다음 수준에서도 사용할 수 있습니다. 또한 짧은 가로 막대로 시작하고 여러 값에 대해 여러 개의 끝 가로 막대를 쓰는 두 개의 빈 공간이 있습니다.
2. Compose 구성에서 일반적으로 사용되는 필드
Field | Description |
---|---|
build dockerfile centext | Dockerfile 파일 이름의 경로를 지정하여 이미지 컨텍스트를 빌드하세요 |
image ㅋㅋㅋ 이미지 지정 | |
기본 명령어를 덮어쓰면서 명령어를 실행합니다. | |
컨테이너 이름은 고유하므로 컨테이너 이름을 지정하세요. 사용자 정의 이름을 지정하면 scale | |
배포 및 서비스 실행과 관련된 구성을 지정할 수 없습니다. Swarm 모드 | |
환경 변수 추가 | |
만 사용할 수 있습니다. Network | |
컨테이너 포트를 노출합니다. -p와 동일하지만 포트 번호는 60 | |
Mount 호스트 경로 또는 명령 볼륨 | |
restart 전략, 기본값보다 커야 합니다. no , Always, on-failure, Except-stoped | |
Container hostname |
: 미러 생성 시 정의 방법
dockerfile: dockerfile을 사용하여 빌드하는 방법
context: 서비스 docerfile 파일의 경로
images: 사용할 이미지 이름을 지정할 수 있습니다. 예: Images: 이미지 이름, 참고: 그 뒤에 공백이 있습니다.
command:
container name명령문 실행: 컨테이너 이름이 고유하므로 컨테이너 이름을 지정하는 데 사용됩니다. 사용자 정의 이름을 지정하면 확장할 수 없습니다(복제 세트 설정)#복제 세트: 이미지를 여러 컨테이너로 만듭니다. 이러한 여러 컨테이너의 실행 환경 및 기타 측면은 완전히 동일합니다. 컨테이너 아키텍처의 컨테이너가 종료되면 동일한 컨테이너를 직접 시작하여 복제본 세트 수를 유지할 수 있는 것이 복제본 세트의 개념이자 K8s의 핵심이기도 합니다. 마이크로서비스의 속도를 향상시키고 재해 복구를 개선하며 높은 동시성 성능을 제공할 수 있습니다
deploy: 컨트롤러이며 k8s에서는 복제본 세트를 제어하고 관리하기 위한 플러그인입니다
restart: 다시 시작 전략 , 기본값은 닫는 것입니다. 그 이후에 시작되지 않으면 항상 닫혀 있으면 수동으로 닫는지 여부에 관계없이 닫힌 상태에서 컨테이너를 자동으로 시작합니다. 실패 시 컨테이너 om3, Compose의 일반적으로 사용되는 명령
필드PS | |
top | |
logs | |
down | |
중지/시작/다시 시작 | |
docker compose基本使用格式:docker-compose [options] [COMMAND] [ARGS…] docker-compose选项:
二、安装docker compose工具1、下载curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 首次连接下载的时候,可能会提示失误或者连接不上,可能是因为网络原因,可以多试几次 2、添加权限文件在刚下载之后,默认是没有执行权限的,所以需要手动添加执行权限 chmod +x /usr/local/bin/docker-compos 3、运行docker-composedocker-compose 可以看到,现在已经正常执行了 三、编译镜像手动创建下面的文件(dockerfile文件之前有的话,直接拉取过来也是可以的) tree . ├── docker-compose.yml ├── nginx │ ├── Dockerfile │ ├── nginx-1.12.0.tar.gz └── wwwroot └── index.html 其中yml文件内部 cat docker-compose.yml version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 1321:80 - 1707:443 networks: - cluster volumes: - ./wwwroot: /usr/local/nginx/html networks: cluster: nginx的dockerfile文件 cat ./nginx/Dockerfile FROM centos:7 ADD nginx-1.12.0.tar.gz /tmp RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make &> /dev/null \ && useradd -M -s /sbin/nologin nginx \ && cd /tmp/nginx-1.12.0/ \ && ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module &> /dev/null \ && make &> /dev/null \ && make install &> /dev/null VOLUME ["/usr/local/nginx/html"] EXPOSE 80 CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"] index.html文件中就是自己配置的网页信息,就不多做介绍了 确定之后,编译 docker-compose -f docker-compose.yml up -d 查看运行结果 docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da38007f09ab dockercompose_nginx "/usr/local/nginx/sb…" About a minute ago Up About a minute 0.0.0.0:666->80/tcp, :::666->80/tcp, 0.0.0.0:667->443/tcp, :::667->443/tcp dockercompose_nginx_1 #可以看到,这个端口信息就是我们在yml文件中设置的端口信息,直接在这个生效了 docker images REPOSITORY TAG IMAGE ID CREATED SIZE dockercompose_nginx latest b1e4b9dfa72d 3 minutes ago 478MB 访问网址端口,查看该网站页面 curl 192.168.75.51:666 hello #显示结果 cat ./wwwroot/index.html hello 推荐学习:《docker视频教程》 |
위 내용은 Docker 기본 구성 파일 구조 및 설치 도구(자세한 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

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

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

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

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

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

DockErvolumes는 컨테이너가 다시 시작, 삭제 또는 마이그레이션 될 때 데이터가 안전하게 유지되도록합니다. 1. 볼륨 생성 : dockervolumecreatemydata. 2. 컨테이너를 실행하고 볼륨을 장착하십시오 : Dockerrun-it-vmydata :/app/dateubuntubash. 3. 고급 사용에는 데이터 공유 및 백업이 포함됩니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
