Docker 바인드 마운트란 무엇입니까?

Docker Baindeu Maunteulan Mueos Ibnikka



Docker에서 개발 프로젝트를 진행하는 동안 개발자는 일반적으로 코드를 수정하고 컨테이너를 다시 빌드하지 않고 변경 사항이 즉시 반영되는 것을 확인하기를 원합니다. 이 상황에서는 바인드 마운트를 사용하여 로컬 호스트 시스템의 코드 디렉터리를 컨테이너에 마운트합니다. 이렇게 하면 호스트에서 수정한 내용이 즉시 컨테이너 내부에 반영됩니다. 또한 데이터가 손실되지 않으므로 컨테이너가 삭제되거나 거부될 때 유용합니다.

이 문서에서는 다음을 설명합니다.







Docker 바인드 마운트란 무엇입니까?

Docker 바인드 마운트를 사용하면 사용자가 호스트 시스템의 특정 파일/디렉토리를 컨테이너 내의 파일/디렉토리에 매핑할 수 있습니다. 이러한 방식으로 사용자는 호스트와 컨테이너 간에 데이터를 공유할 수 있으며 컨테이너가 중지되거나 삭제된 후에도 데이터를 유지할 수 있습니다. 공유 디렉터리 또는 파일의 파일에 대한 모든 변경 사항은 컨테이너와 호스트 시스템 모두에서 볼 수 있습니다.



Docker에서 바인드 마운트는 어떻게 작동합니까?

예를 들어 Docker에서 bind-mount가 어떻게 작동하는지 살펴보겠습니다. 빈 디렉토리가 있다고 가정합니다. 시험 ' 에 위치한 ' 기음:\도커 '로컬 시스템에서. 이제 ' 시험 ' 위치의 디렉토리 내용 ' /앱 ” 특정 컨테이너 내에서. 이 예에서는 공식 Docker 이미지에서 컨테이너를 실행합니다. nginx ” 바인드 마운트를 활용하여 호스트 시스템의 특정 디렉토리를 컨테이너로 마운트하십시오.



더 나은 이해를 위해 제공된 단계를 따르십시오.





1단계: 호스트 시스템에서 컨테이너로 탑재 디렉터리 바인딩

먼저 ' docker run -d –name <컨테이너 이름> -v <소스 경로>:<대상 경로> <이미지 이름> ” 명령을 내리고 컨테이너를 실행합니다. 호스트 머신의 마운트 디렉토리를 컨테이너에 바인드합니다.



도커 실행 -디 --이름 myCont -안에 씨: / 도커 / 시험: / 앱 nginx:최신


여기:

    • -디 ” 옵션은 백그라운드에서 컨테이너를 실행하는 데 사용됩니다.
    • -이름 ”는 컨테이너 이름을 정의하는 데 사용됩니다.
    • myCont ”는 컨테이너 이름입니다.
    • -안에 ” 옵션은 호스트 시스템의 소스 디렉토리를 컨테이너의 대상 디렉토리에 매핑하는 볼륨을 컨테이너에 생성합니다.
    • C:/도커/테스트 ”는 소스 디렉토리(로컬 머신)의 경로입니다.
    • /앱 ”는 대상 디렉터리(컨테이너) 경로입니다.
    • nginx:최신 ”는 최신 Docker 이미지입니다.



이 명령은 컨테이너를 생성하고 호스트 시스템에서 파일에 액세스할 수 있도록 허용하여 데이터 지속성을 보다 쉽게 ​​관리할 수 있도록 합니다.

2단계: 호스트 시스템의 소스 디렉토리에 파일 생성

그런 다음 소스 디렉토리 경로 즉, ' C:/도커/테스트 ” 호스트 시스템에서 일반 텍스트 파일을 만듭니다. 예를 들어 ' 데모 ” 파일:


3단계: 컨테이너 내부의 호스트 시스템 파일에 액세스

이제 아래 제공된 명령을 입력하여 컨테이너의 콘텐츠에 액세스하고 내부에서 명령을 실행합니다.

도커 간부 -그것 myCont 세게 때리다



그렇게 하면 컨테이너 셸이 열립니다.

그런 다음 제공된 명령을 사용하여 컨테이너의 콘텐츠를 나열합니다.

ls



위의 스크린샷에서 컨테이너의 모든 콘텐츠를 볼 수 있습니다. 원하는 디렉토리를 선택하고 탐색하십시오.

'로 리디렉션 ” 디렉토리:

CD


그런 다음 ' ” 로컬 컴퓨터 파일을 확인할 수 있는 디렉터리 콘텐츠:

ls



'라는 것을 알 수 있다. Demo.txt ” 파일은 컨테이너 내부에서 사용할 수 있으며 액세스할 수 있습니다.

4단계: 컨테이너 내부에 파일 생성

다음으로 '를 사용하여 컨테이너 내부에 다른 파일을 만듭니다. 만지다 ' 명령:

만지다 new.txt



우리는 ' new.txt ” 파일.

그런 다음 아래 나열된 명령을 사용하여 새로 생성된 파일을 확인합니다.

ls



'라는 파일을 볼 수 있습니다. new.txt ”가 컨테이너 내부에 성공적으로 생성되었습니다.

5단계: 로컬 시스템에서 파일 확인

마지막으로 로컬 컴퓨터 경로로 이동하여 ' new.txt ” 파일을 사용할 수 있는지 여부:


보시다시피 ' new.txt ” 파일은 로컬 컴퓨터에서 사용할 수 있으며 액세스할 수 있습니다. 이는 수정 사항이 로컬 시스템에도 반영됨을 나타냅니다.

6단계: Docker 컨테이너 제거

이제 '를 통해 컨테이너를 제거하십시오. 도커 RM 컨테이너 이름과 함께 ” 명령:

도커 rm myCont



myCont ” 컨테이너가 성공적으로 삭제되었습니다.

7단계: 데이터가 로컬 시스템에 유지되는지 확인

컨테이너를 삭제한 후 데이터가 로컬 시스템에 지속되었는지 확인하십시오.


보시다시피 바인드 마운트 컨테이너를 삭제한 후에도 변경 사항이 유지되었습니다.

결론

Docker 바인드 마운트는 호스트 시스템의 디렉터리 또는 파일을 컨테이너에 매핑하는 데 사용됩니다. 호스트의 지정된 디렉토리 또는 파일과 컨테이너의 파일 시스템 사이에 링크를 생성합니다. 컨테이너 외부에 저장된 파일을 쉽고 간단하게 처리하거나 작업할 수 있습니다. 공유 디렉터리 또는 파일의 파일에 대한 모든 변경 사항은 호스트와 컨테이너 모두에 반영됩니다. 이 기사에서는 Docker 바인드 마운트 및 Docker에서의 작업에 대해 설명했습니다.