찾다
운영 및 유지보수Docker도커 데이터 볼륨 구성에 대한 가장 자세한 튜토리얼

이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 掘金에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Linux 및 Docker : 다른 Linux 배포판의 DockerLinux 및 Docker : 다른 Linux 배포판의 DockerApr 19, 2025 am 12:10 AM

Ubuntu, Centos 및 Debian에 Docker를 설치하고 사용하는 방법은 다릅니다. 1) Ubuntu : APT 패키지 관리자를 사용하여 명령은 sudoapt-getupdate && sudoapt-getinstalldocker.io입니다. 2) Centos : Yum 패키지 관리자를 사용하면 Docker 저장소를 추가해야합니다. 이 명령은 SudoyuminStall-Yyum-utils && sudoyum-config-manager--add-repohttps : //download.docker.com/lin입니다

Docker 마스터 링 : Linux 사용자를위한 안내서Docker 마스터 링 : Linux 사용자를위한 안내서Apr 18, 2025 am 12:08 AM

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

Linux의 Docker : 응용 프로그램 및 사용 사례Linux의 Docker : 응용 프로그램 및 사용 사례Apr 17, 2025 am 12:10 AM

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

Docker : 이식성 및 확장 성을위한 컨테이너화 응용 프로그램Docker : 이식성 및 확장 성을위한 컨테이너화 응용 프로그램Apr 16, 2025 am 12:09 AM

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

Docker가 컨테이너를 시작하는 방법Docker가 컨테이너를 시작하는 방법Apr 15, 2025 pm 12:27 PM

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

Docker에서 로그를 보는 방법Docker에서 로그를 보는 방법Apr 15, 2025 pm 12:24 PM

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 컨테이너의 이름을 확인하는 방법Apr 15, 2025 pm 12:21 PM

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

Docker 용 컨테이너를 만드는 방법Docker 용 컨테이너를 만드는 방법Apr 15, 2025 pm 12:18 PM

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

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경