19 - Docker 데이터 영구 화

Docker 데이터 의 지속 성 이란 무엇 입 니까?
용기 가 실 행 될 때 미 러 층 에 한 층 을 더 합 니 다. 쓰기 가능 한 층 입 니 다.용 기 를 삭제 하면 쓰기 가능 한 층 이 함께 삭제 되 고 데이터 가 분 실 됩 니 다.데이터 의 지속 화 는 데 이 터 를 지속 적 으로 저장 하고 용 기 를 삭제 한 후에 도 데이터 가 존재 하 는 것 이다.
방법 1 - 로 컬 디 렉 터 리 를 용기 에 마 운 트 합 니 다.
  • 마 운 트 방법
  • docker run -d -p 8080:80 -v /html:/usr/share/nginx/html nginx      #-v      /html       /usr/share/nginx/html
    
  • 실험 - nginx 용기 의 데이터 지구 화
  • mkdir /html
    vim /html/index.html
        

    Hello eagle

    docker run -d -p 8080:80 -v /html:/usr/share/nginx/html nginx firewall-cmd --add-port=8080/tcp firewall-cmd --add-port=8080/tcp --per # :http://192.168.191.131:8080/

  • 읽 기 전용 모드 로 마 운 트
  • -v /a:/b:ro	#       (read only)
    

    방법 2 - 데이터 볼 륨
    데이터 볼 륨 은 이 컴퓨터 가 마 운 트 된 디 렉 터 리 와 비슷 하 며, 같은 사용 - v 마 운 트 용기 에 있 습 니 다.데이터 볼 륨 은 / var / lib / docker / volumes 에 집중 적 으로 저 장 됩 니 다.
    데이터 볼 륨 만 들 기
    docker volume create -d local test      #      test    
    

    만 들 면 / var / lib / docker / volumes 에 test 디 렉 터 리 가 나타 납 니 다.test 디 렉 터 리 에 디 렉 터 리 가 있 습 니 다:data。이 디 렉 터 리 는 모든 데 이 터 를 저장 하기 때 문 입 니 다.
    데이터 볼 륨 보기
    docker volume ls				#       
    docker volume inspect test		#      
    

    데이터 볼 륨 삭제
    docker volume prune				#       
    docker volume rm test			#     test
    

    데이터 볼 륨 사용
    docker run -d -it -p 8800:80 -v test:/usr/share/nginx/html nginx
    

    설명:
    마 운 트 와 마찬가지 로 - v 명령 을 사용 하여 데이터 볼 륨 을 지정 하여 용 기 를 삭제 한 후 데이터 볼 륨 에 데이터 가 있 으 면 데이터 볼 륨 의 를 잃 어 버 리 지 않 습 니 다.data 디 렉 터 리 를 용기 디 렉 터 리 에 마 운 트 합 니 다.데이터 볼 륨 에 데이터 가 없 으 면 용기 디 렉 터 리 의 데 이 터 를 데이터 볼 륨 에 복사 하 는data 디 렉 터 리 를 마 운 트 합 니 다.
    데이터 볼 륨 용기
    데이터 볼 륨 은 여러 용기 에 마 운 트 될 수 있 으 며, 이 때 데이터 볼 륨 의 데 이 터 는 공 유 됩 니 다.데이터 볼 륨 을 공유 하려 면 --volumes-from 인 자 를 사용 해 야 합 니 다.
    실험 하 다.
    docker volume create -d local volume1
    vim index.html
        

    hello eagle

    docker run -d -it -p 8080:80 -v volume1:/usr/share/nginx/html nginx docker run -d -it -p 8081:80 --volumes-from a215 nginx # a215 firewall-cmd --add-port=8080-8081/tcp firewall-cmd --add-port=8080-8081/tcp --per
  • 테스트
  • 방문 하 다.http://192.168.191.131:8080/ 방문 하 다.http://192.168.191.131:8081/ 결과 가 같 으 면 정확 하 다.
  • 추가 테스트
  • cd /var/lib/docker/volumes/volume1/_data
    vim index.html
        

    hello world


    방문 하 다.http://192.168.191.131:8080/ 방문 하 다.http://192.168.191.131:8081/ 결 과 는 hello eagle 에서 hello world 로 바 뀌 었 다.

    좋은 웹페이지 즐겨찾기