"docker 볼륨"과 마운트의 차이점은 다음과 같습니다. "docker 볼륨"은 선언적이며 "Docker Engine" 자체는 시스템의 특정 디렉터리를 차지하며 Docker는 기본적으로 점유된 경로 아래 볼륨에 경로를 할당합니다. Mounting은 마운트 지점으로 경로를 차지하지 않습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
Docker 볼륨과 마운트의 차이점은 무엇인가요?
오랜 기간 동안 여러 컨테이너가 동일한 데이터 디렉터리에 대한 액세스를 공유해야 하거나 컨테이너의 데이터(예: 데이터베이스)를 유지해야 하는 경우 항상 마운트 디렉터리 형식(바인드 마운트)을 사용했으며, 호스트의 디렉터리를 컨테이너의 지정된 디렉터리에 마운트합니다. 이 방법은 문제를 해결할 수 있지만 이 방법에는 항상 몇 가지 단점이 있습니다. 서로 다른 서버는 실제 상황에 따라 디스크 마운트 디렉터리의 경로를 수정해야 합니다.
- 그리고 이러한 문제는 볼륨을 사용하여 해결할 수 있습니다. 먼저 바인드 마운트와 도커 볼륨을 비교한 다음 볼륨이 바인드 마운트 문제를 어떻게 해결하는지 살펴보겠습니다. 먼저 사진을 보겠습니다.
이 사진은 docker 문서에서 가져온 것입니다.

예: Linux 시스템에서는 "/var/someDir"을 자주 사용합니다.
그러나 Mac에서는 /var/가 실제 디렉토리가 아닙니다. Mac 사용자는 Linux보다 더 발전된 디렉토리이며 사용자는 이를 필요로 하지 않습니다. Windows 시스템에서 Windows 사용자는 다음과 같이 질문할 것입니다. /var / 그게 무엇인가요? C 드라이브와 D 드라이브가 가장 합리적인 구분~~
다들 제일 잘생겼다고 누가 제일 잘생겼다


Docker에는 마운트 방식 외에 데이터를 보관할 수 있는 Volume도 있습니다. 이렇게 얘기하기가 좀 쑥스럽네요. Docker를 오랫동안 사용해오면서 늘 Mount를 Volume으로 여겼는데, 그게 제 잘못은 아닙니다. Docker-compose 파일은 볼륨 섹션에 있습니다. 컨테이너와 호스트 마운트 경로 간의 매핑 관계를 작성하는 데는 문제가 없지만 이것은 항상 오해였습니다. . (엉뚱한 비난?)
사실 "마운트"와 "Docker 볼륨"은 동일한 것이 아닙니다. Docker Volume은 선언적이며 Docker 엔진 자체가 시스템에서 특정 디렉터리를 차지합니다. . , Linux는 일반적으로 "/var/lib/docker"이며 Mac 및 Windows에서 조정할 수 있습니다. 볼륨을 선언하면 Docker는 기본적으로 점유된 경로 아래의 볼륨에 경로를 할당합니다. 예:Title

- docker run -d -v "test_vol:/var/data" some_image, 따라서 컨테이너의 /var/data 디렉터리를 "test_vol"의 마운트 지점에 마운트합니다.
- docker-compose는 유사하지만 볼륨 선언이 필요합니다. docker-compose.yaml 파일에서 위의 예를 수정해 보겠습니다.
주의!!
- 이미지와 파일을 저장해야 하기 때문에 볼륨이 커지면 docker 디렉터리가 확장된다는 점에 유의해야 합니다. 볼륨을 저장하려면 시스템 디스크에 넣지 않고 도커 설치 디렉터리를 다른 더 큰 장착 디스크로 구성하는 것이 가장 좋습니다.
- 두 가지 동작은 다릅니다. 컨테이너 외부의 해당 디렉터리가 비어 있으면 볼륨은 먼저 컨테이너의 내용을 컨테이너 외부 디렉터리에 복사하고, 마운트는 컨테이너의 내부 디렉터리를 외부 디렉터리로 덮어씁니다! !
- 볼륨 바인드 마운트의 또 다른 단점은 nginx 컨테이너의 구성 파일인 nginx.conf를 마운트하는 등 파일을 직접 마운트할 수 없다는 것입니다.
여기서 주의할 점은 구성 파일과 같은 단일 파일 방식은 볼륨 사용에 적합하지 않다는 점입니다. 바인드 마운트도 해결할 수 있지만 구성 파일에는 데이터베이스 비밀번호와 같은 민감한 정보가 포함되어 있으므로 가장 좋은 방법은 다음과 같습니다. tmpfs를 사용하고 있습니다.
kubernetes의 볼륨도 비슷한 디자인을 반영합니다. subPath가 구성 파일 마운트 문제를 해결할 수 있지만 실제로 가장 좋은 방법은 configMap을 사용하는 것입니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 도커 볼륨과 마운트의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Linux에서 Docker를 사용하면 개발 효율성을 향상시키고 응용 프로그램 배포를 단순화 할 수 있습니다. 1) Ubuntu 이미지를 당기기 : Dockerpullubuntu. 2) 우분투 컨테이너 실행 : Dockerrun-itubuntu/bin/bash. 3) nginx를 포함하는 dockerfile : fromubuntu; runapt-getupdate && apt-getinstall-ynginx; Expose80을 만듭니다. 4) 이미지를 빌드 : DockerBuild-tmy-nginx. 5) 컨테이너 실행 : Dockerrun-D-P8080 : 80

Docker는 Linux의 응용 프로그램 배포 및 관리를 단순화합니다. 1) Docker는 응용 프로그램과 그 종속성을 경량 및 휴대용 컨테이너로 포장하는 컨테이너화 된 플랫폼입니다. 2) Linux에서 Docker는 CGroup 및 네임 스페이스를 사용하여 컨테이너 격리 및 리소스 관리를 구현합니다. 3) 기본 사용에는 이미지를 당기고 컨테이너를 실행하는 것이 포함됩니다. DockerCompose와 같은 고급 사용법은 다중 컨테이너 응용 프로그램을 정의 할 수 있습니다. 4) 일반적으로 사용되는 DockerLogs 및 DockerExec 명령 디버그. 5) 성능 최적화는 다단계 구성을 통해 이미지 크기를 줄일 수 있으며 Dockerfile을 단순하게 유지하는 것이 가장 좋은 방법입니다.

Docker는 응용 프로그램을 패키지, 배포 및 실행하는 데 사용되는 Linux 컨테이너 기술 기반 도구입니다. 1) DockerBuild 및 Dockerrun 명령을 사용하여 Docker 컨테이너를 구축하고 실행할 수 있습니다. 2) DockerCompose는 마이크로 서비스 관리를 단순화하기 위해 멀티 컨테이너 Docker 응용 프로그램을 정의하고 실행하는 데 사용됩니다. 3) 다단계 구성을 사용하면 이미지 크기를 최적화하고 응용 프로그램 시작 속도를 향상시킬 수 있습니다. 4) 컨테이너 로그보기는 컨테이너 문제를 디버깅하는 효과적인 방법입니다.

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

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

Docker에서 컨테이너 만들기 : 1. 이미지를 당기기 : Docker Pull [Mirror Name] 2. 컨테이너 만들기 : Docker Run [옵션] [미러 이름] [명령] 3. 컨테이너 시작 : Docker Start [컨테이너 이름]

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


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는
