도커 데이터 볼륨 구성에 대한 가장 자세한 튜토리얼
이 글은 docker의 데이터 볼륨에 대한 관련 지식을 제공합니다. 데이터 볼륨은 컨테이너 간에 데이터를 공유하거나 재사용할 수 있습니다. 데이터 볼륨의 변경 사항은 이미지 업데이트에 포함되지 않습니다. 돕다.
추천 학습: "docker 비디오 튜토리얼"
데이터 볼륨이란 무엇입니까?
Docker 컨테이너를 사용하면 일련의 데이터 파일이 생성됩니다. 는 삭제되지만 생성된 콘텐츠의 일부는 다른 용도로 저장될 것으로 예상됩니다. Docker는 애플리케이션과 실행 환경을 릴리스용 컨테이너로 패키징합니다. 프로그래머는 실행 프로세스 중에 생성된 데이터 중 일부가 유지되기를 바랍니다. 컨테이너 간에 데이터를 공유할 수 있습니다.
일반적으로 도커 컨테이너 데이터 볼륨은 일반적으로 사용되는 USB 디스크로 간주할 수 있습니다. 하나 이상의 컨테이너에 존재하며 도커에 의해 컨테이너에 마운트됩니다. 컨테이너에서 삭제하지 마십시오. 마운트된 데이터 볼륨을 삭제하십시오.
데이터 볼륨의 특징
데이터 볼륨은 컨테이너 간에 데이터를 공유하거나 재사용할 수 있습니다.
데이터 볼륨의 변경 사항은 즉시 적용됩니다.
데이터 볼륨의 변경 사항은 미러 업데이트에 포함되지 않습니다.
기본적으로, 데이터 볼륨은 컨테이너가 삭제되더라도 항상 존재합니다.
데이터 볼륨의 수명 주기는 어떤 컨테이너도 사용하지 않을 때까지 계속됩니다.
컨테이너의 관리 데이터
데이터 볼륨: 데이터 볼륨 컨테이너의 데이터는 다음에 직접 매핑됩니다. 로컬 호스트 환경
데이터 볼륨 컨테이너 :데이터 볼륨 컨테이너 데이터 볼륨을 유지하려면 특정 컨테이너를 사용하세요
공통 docker 명령 cp
Syntax
호스트 파일을 컨테이너에 복사
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
컨테이너의 파일을 호스트에 복사
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
공통 매개변수
-L: 소스 링크를 대상에 유지
기본 사용법
호스트 파일을 컨테이너에 복사
docker cp /data/index.html nginx:/usr/share/nginx/html/index.html
컨테이너의 파일을 호스트에 복사
docker cp nginx:/etc/nginx/nginx.conf /data
docker 데이터 볼륨
데이터 볼륨(데이터 볼륨)은 하나 이상의 컨테이너에 사용할 수 있습니다. 호스트 운영 체제 디렉터리를 컨테이너에 직접 매핑하는 데 사용되는 특수 디렉터리입니다.
데이터 볼륨에 대한 주의 사항
데이터 볼륨을 마운트하려면 create/start 대신 실행을 통해 시작 컨테이너를 생성하는 것이 가장 좋습니다. 많은 구성을 문서화해야 하지만 불가능하지는 않습니다.
Docker 공식 홈페이지에서는 파일을 마운트하는 것보다 디렉터리를 최대한 마운트하는 것을 권장합니다
데이터 볼륨 유형
호스트 데이터 볼륨: 호스트의 파일 시스템에 직접 있지만 컨테이너(바인드 마운트)를 통해 접근 가능
named Data 볼륨: 디스크에서 Docker가 관리하는 데이터 볼륨이지만 이 볼륨에는 이름이 있습니다.
익명 데이터 볼륨: 디스크에서 Docker가 관리하는 데이터 볼륨입니다. Docker가 이러한 파일을 관리하지 않기 때문에 찾기가 쉽지 않습니다.
호스트 데이터 볼륨
바인드 마운트: 컨테이너의 데이터는 호스트 파일 시스템의 어느 곳에나, 심지어 중요한 시스템 디렉터리나 파일에도 저장됩니다. docker 이외의 프로세스에서도 임의로 수정할 수 있습니다.
바인드 마운트를 사용하면 호스트 디렉터리나 파일이 컨테이너에 마운트됩니다. 컨테이너는 탑재 디렉터리나 파일의 절대 경로에 따라 호스트의 데이터를 사용하거나 수정합니다. 호스트의 디렉터리나 파일은 미리 존재할 필요가 없으며 필요할 때 자동으로 생성됩니다.
바인드 마운트를 사용하는 것은 성능 측면에서 매우 좋지만 잘 구조화된 파일 시스템을 갖춘 호스트 시스템에 따라 다릅니다.
바인드 마운트를 사용하는 컨테이너는 중요한 시스템 파일 및 디렉터리 생성, 수정 및 삭제를 포함하여 컨테이너 내부 프로세스를 통해 호스트 파일 시스템을 수정할 수 있습니다. 이 기능은 매우 강력하지만 분명히 다른 프로세스에 영향을 미칠 수도 있습니다. 호스트의 Docker보다
Notes
빈 데이터 볼륨을 컨테이너의 비어 있지 않은 디렉터리에 마운트하면 이 디렉터리의 파일이 데이터 볼륨에 복사됩니다.
비어 있지 않은 데이터 볼륨을 컨테이너에 마운트하는 경우 컨테이너의 디렉터리와 컨테이너의 디렉터리는 데이터 볼륨의 데이터를 표시합니다. 컨테이너의 원본 디렉터리에 데이터가 있으면 원본 데이터는 숨겨집니다
기본 사용법
Syntax
docker run -v /宿主机绝对路径目录:/容器内目录 镜像名
기본 사용법
docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin -v /data/mysql:/var/lib/mysql mysql:5.7.31 --character-set-server=utf8 --collation-server=utf8_general_ci
컨테이너 디렉터리 권한
Pass -v 컨테이너 내 경로: ro rw 읽기 변경 및 쓰기 권한 ro :readonly 읽기 전용
rw:readwrite 읽기 및 쓰기 가능
docker run -it -v /Host 절대 경로 디렉터리:/Container 디렉터리:ro 이미지 이름
docker run -it -v /Host 절대 경로 디렉터리 :/컨테이너 내 디렉터리: rw 이미지 이름
예:
docker run -d -P --name nginx05 -v nginx1:/etc/nginx:ro nginx docker run -d -P --name nginx05 -v nginx2:/etc/nginx:rw nginx
ro ro가 보인다면 이 경로는 호스트를 통해서만 동작할 수 있고, 컨테이너 내부에서는 동작할 수 없다는 의미입니다!
명명된 데이터 볼륨
Basic
docker run -itd --name nginx -p 80:80 -v lagouedu-nginx:/etc/nginx nginx:1.19.3-
alpine
을 사용하여 도커 데이터 볼륨을 확인합니다. docker 볼륨 ls
lagouedu-nginx 호스트 디렉터리 보기
docker volume inspect lagouedu-nginx
도커 데이터 볼륨 기본 디렉터리 입력
cd /var/lib/docker/volumes/lagouedu-nginx
파일 보기
ls
모든 파일은 기본적으로 docker에 저장됩니다_ cd _data는 데이터 디렉터리에
컨테이너 삭제
docker rm $(docker stop $(docker ps -aq))
查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在
ls
匿名数据卷
基本使用
docker run -itd --name nginx -p 80:80 -v /etc/nginx nginx:1.19.3-alpine 查看docker数据卷 docker volume ls
查看宿主机目录
docker volume inspect dbd07daa4e40148b11....
进入docker数据卷默认目录
cd /var/lib/docker/volumes/dbd07daa4e40148b11....
查看文件
ls
所有的文件docker默认保存在_data目录中 cd _data
删除容器
docker rm $(docker stop $(docker ps -aq))
查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在
ls
数据卷容器
run命令
常用参数
--volumes-from
如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器
也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。
发现创建好的数据卷容器是处于停止运行的状态,因为使用 —volumes-from 参数所挂载数据卷的容器 自己并不需要保持在运行状态。
基本使用
docker run -d --name data-volume -v /data/nginx:/usr/share/nginx/html -v /data/mysql:/var/lib/mysql centos:7.8.2003 docker run -itd --name nginx01 -p 80:80 --volumes-from data-volume nginx:1.19.3- alpine echo "nginx" > /data/nginx/index.html http://192.168.198.100 docker run -itd --name nginx02 -p 81:80 --volumes-from data-volume nginx:1.19.3- alpine http://192.168.198.100:81 docker run -itd --name mysql01 --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin --volumes-from data-volume mysql:5.7.31 -- character-set-server=utf8 --collation-server=utf8_general_ci docker run -itd --name mysql02 --restart always --privileged=true -p 3307:3306 -e MYSQL_ROOT_PASSWORD=admin --volumes-from data-volume mysql:5.7.31 -- character-set-server=utf8 --collation-server=utf8_general_ci
推荐学习:《docker视频教程》
위 내용은 도커 데이터 볼륨 구성에 대한 가장 자세한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker 버전을 얻으려면 다음 단계를 수행 할 수 있습니다. Docker 명령 "Docker -version"을 실행하여 클라이언트 및 서버 버전을 볼 수 있습니다. Mac 또는 Windows의 경우 Docker Desktop GUI의 버전 탭 또는 Aff Docker Desktop 메뉴를 통해 버전 정보를 볼 수도 있습니다.

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

국내 거울 소스로 전환 할 수 있습니다. 단계는 다음과 같습니다. 1. 구성 파일 /etc/docker/daemon.json 편집 및 미러 소스 주소를 추가하십시오. 2. 저장 및 종료 후 Docker Service Sudo SystemCTL Docker를 다시 시작하여 이미지 다운로드 속도 및 안정성을 향상시킵니다.

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

Docker에 이미지를 저장하려면 Docker Commit 명령을 사용하여 지정된 컨테이너의 현재 상태가 포함 된 새 이미지를 만들 수 있습니다. 구문 : Docker Commit [옵션] 컨테이너 ID 이미지 이름. 이미지를 저장소에 저장하려면 Docker Push 명령 인 Syntax : Docker 푸시 이미지 이름 [: tag]을 사용할 수 있습니다. 저장된 이미지를 가져 오려면 Docker Pull 명령 인 Syntax : Docker Pull Image Name [: Tag]을 사용할 수 있습니다.

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

Docker Private Repositories를 구축하여 컨테이너 이미지를 안전하게 저장하고 관리하여 엄격한 제어 및 보안을 제공 할 수 있습니다. 단계에는 리포지토리 생성, 액세스 부여, 저장소 배포, 이미지 밀기 및 이미지를 당기는 단계가 포함됩니다. 보안, 버전 제어, 네트워크 트래픽 감소 및 사용자 정의가 장점이 있습니다.
