운영 및 유지보수 Docker Docker 서비스에서 다양한 디렉터리를 사용하는 방법에 중점을 둡니다.

Docker 서비스에서 다양한 디렉터리를 사용하는 방법에 중점을 둡니다.

Apr 19, 2023 pm 03:26 PM

Docker는 애플리케이션을 빠르고 효율적으로 구축, 배포 및 실행할 수 있는 매우 널리 사용되는 컨테이너화 기술입니다. Docker 서비스는 Docker 클러스터 관리에 가장 일반적으로 사용되는 메커니즘 중 하나입니다. Docker 서비스를 사용하면 사용자는 여러 Docker 컨테이너를 하나의 서비스로 결합하여 고가용성, 로드 밸런싱 및 기타 목적을 달성할 수 있습니다. 이 문서에서는 Docker 서비스에서 다양한 디렉터리를 사용하는 방법에 중점을 둡니다.

도커 서비스란 무엇인가요?

Docker 서비스는 Docker 클러스터 관리 메커니즘 중 하나입니다. 여러 Docker 컨테이너를 하나의 서비스로 결합할 수 있습니다. Docker Service는 고가용성, 로드 밸런싱, 자동 확장 등의 기능을 구현하여 사용자가 서비스와 애플리케이션을 최적화하는 데 도움을 줍니다.

Docker 서비스는 복제본 및 글로벌과 같은 다양한 배포 전략을 지원합니다. 복제본 정책을 사용할 때 사용자는 시작할 컨테이너 수를 정의할 수 있으며 Docker 엔진은 클러스터 전체에 컨테이너 인스턴스를 자동으로 배포하고 관리합니다. 글로벌 전략을 사용하는 경우 Docker 엔진은 컨테이너 복사본을 시작하고 이를 클러스터의 각 노드에 배포합니다.

Docker 서비스 사용의 이점

Docker 서비스를 사용하면 많은 이점을 얻을 수 있으며, 몇 가지 주요 이점은 다음과 같습니다.

  • 고가용성: Docker 서비스는 노드가 실패하더라도 컨테이너의 고가용성을 쉽게 달성할 수 있습니다. 컨테이너의 자동 밸런싱 기능을 통해 다른 노드에서 새 컨테이너 인스턴스를 시작합니다.
  • 로드 밸런싱: Docker 서비스를 사용하면 로드 밸런싱을 쉽게 달성할 수 있으므로 로드 밸런싱 문제에 주의를 기울일 필요 없이 사용자의 애플리케이션이 항상 최상의 상태에 있을 수 있습니다.
  • 자동 확장: Docker 서비스는 자동 확장을 지원합니다. 사용자는 애플리케이션 확장을 위해 컨테이너 수만 조정하면 됩니다.

Docker 서비스는 어떻게 다른 디렉터리를 사용하나요?

Docker 서비스는 기본적으로 Dockerfile이 있는 디렉터리를 컨테이너 이미지의 빌드 컨텍스트로 사용합니다. 그러나 서로 다른 디렉터리에 서로 다른 이미지를 빌드해야 하는 경우에는 서로 다른 빌드 컨텍스트를 사용해야 합니다.

다음에서는 다양한 디렉터리를 사용하여 Docker 이미지를 빌드하고 Docker 서비스를 사용하여 애플리케이션을 배포하는 방법을 소개합니다.

  1. 디렉터리 구조 만들기

먼저 다음과 같은 디렉터리 구조를 만듭니다.

.
├── dockerfiles
│   ├── web1
│   │   ├── Dockerfile
│   │   └── index.html
│   └── web2
│       ├── Dockerfile
│       └── index.html
├── docker-compose.yml
└── services.yml
로그인 후 복사

dockerfiles 디렉터리에 web1과 web2라는 두 개의 디렉터리를 각각 만들었습니다. 각 디렉터리에는 Dockerfile 파일과 index.html 파일이 포함되어 있습니다. 그 중 Dockerfile 파일은 Docker 이미지를 빌드하는 데 사용되며, index.html 파일은 컨테이너가 정상적으로 실행되는지 테스트하는 데 사용됩니다.

services.yml 파일에서 web1과 web2라는 두 개의 컨테이너를 배포하기 위해 web이라는 서비스를 정의합니다.

  1. Dockerfile 작성

이 예에서는 web1과 web2에 각각 Dockerfile을 만들었습니다.

web1 디렉터리의 Dockerfile 파일:

FROM nginx
COPY index.html /usr/share/nginx/html
로그인 후 복사

web2 디렉터리의 Dockerfile 파일:

FROM nginx
WORKDIR /usr/share/nginx/html
COPY index.html .
로그인 후 복사

여기에서는 서로 다른 Dockerfile 파일을 사용하고 각 파일에서 서로 다른 빌드 컨텍스트를 사용합니다. web1의 Dockerfile은 지정된 빌드 컨텍스트의 index.html 파일을 컨테이너로 복사하는 COPY 지시문을 사용합니다. web2 Dockerfile은 WORKDIR 명령과 COPY 명령을 사용합니다. 이 명령은 작업 디렉터리를 /usr/share/nginx/html로 설정하고 index.html 파일을 빌드 컨텍스트에서 컨테이너로 복사합니다.

  1. docker-compose.yml 파일 작성

우리는 여전히 docker-compose.yml 파일을 사용하여 서비스를 정의합니다. 파일 내용은 다음과 같습니다.

version: '3.7'

services:
  web1:
    build:
      context: ./dockerfiles/web1
    image: web1
    deploy:
      replicas: 2
    ports:
      - 8081:80

  web2:
    build:
      context: ./dockerfiles/web2
    image: web2
    deploy:
      replicas: 3
    ports:
      - 8082:80
로그인 후 복사

docker-compose.yml 파일에서는 각각 다른 빌드 컨텍스트를 사용하는 web1과 web2라는 두 가지 서비스를 정의합니다. 동시에 컨테이너 수와 포트 매핑을 제어하기 위해 각 서비스의 복제본 및 포트 속성도 지정합니다.

  1. 서비스 배포

마지막으로 Docker Stack 명령을 사용하여 서비스를 배포합니다.

$ docker stack deploy -c services.yml myapp
로그인 후 복사

명령 실행이 완료되면 다음 명령을 사용하여 서비스 상태를 볼 수 있습니다.

$ docker stack ps myapp
로그인 후 복사
  1. 서비스 테스트

서비스 배포가 완료된 후 브라우저를 사용하여 다음 URL에 액세스하여 web1 및 web2 서비스가 제대로 작동하는지 테스트할 수 있습니다.

web1 서비스:

http://localhost:8081
로그인 후 복사

web2 서비스:

http://localhost:8082
로그인 후 복사

If 모든 것이 괜찮습니다. 각 서비스 문서 콘텐츠에 index.html이 표시됩니다.

요약

이 글에서는 Docker Service에서 컨테이너 구축을 위해 다양한 디렉터리를 사용하는 방법을 소개했습니다. 우리는 서로 다른 Dockerfile을 사용하여 두 개의 서비스를 생성하고 docker-compose.yml 파일에 서비스의 빌드 컨텍스트를 정의했습니다. 마지막으로 서비스를 배포하고 서비스가 제대로 실행되는지 테스트했습니다. 이는 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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Docker가 컨테이너를 빠져 나가는 방법 Docker가 컨테이너를 빠져 나가는 방법 Apr 15, 2025 pm 12:15 PM

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

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 Volumes : 컨테이너의 지속적인 데이터 관리 Docker Volumes : 컨테이너의 지속적인 데이터 관리 Apr 04, 2025 am 12:19 AM

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

Docker의 파일을 외부로 복사하는 방법 Docker의 파일을 외부로 복사하는 방법 Apr 15, 2025 pm 12:12 PM

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.

Docker 컨테이너의 이름을 확인하는 방법 Docker 컨테이너의 이름을 확인하는 방법 Apr 15, 2025 pm 12:21 PM

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 ​​있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker를 다시 시작하는 방법 Docker를 다시 시작하는 방법 Apr 15, 2025 pm 12:06 PM

Docker 컨테이너를 다시 시작하는 방법 : 컨테이너 ID (Docker PS)를 가져옵니다. 컨테이너 중지 (Docker Stop & lt; container_id & gt;); 컨테이너를 시작하십시오 (Docker start & lt; container_id & gt;); 재시작이 성공했는지 확인하십시오 (Docker PS). 기타 방법 : Docker Compose (Docker-Compose Restart) 또는 Docker API (Docker 문서 참조).

Docker의 MySQL을 시작하는 방법 Docker의 MySQL을 시작하는 방법 Apr 15, 2025 pm 12:09 PM

Docker에서 MySQL을 시작하는 프로세스는 다음 단계로 구성됩니다. MySQL 이미지를 가져와 컨테이너를 작성하고 시작하고 루트 사용자 암호를 설정하고 포트 확인 연결을 매핑하고 데이터베이스를 작성하고 사용자는 데이터베이스에 모든 권한을 부여합니다.

Docker의 이미지를 업데이트하는 방법 Docker의 이미지를 업데이트하는 방법 Apr 15, 2025 pm 12:03 PM

Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)

See all articles