19 - Docker 데이터 영구 화
2623 단어 리 눅 스 초보 의 길
용기 가 실 행 될 때 미 러 층 에 한 층 을 더 합 니 다. 쓰기 가능 한 층 입 니 다.용 기 를 삭제 하면 쓰기 가능 한 층 이 함께 삭제 되 고 데이터 가 분 실 됩 니 다.데이터 의 지속 화 는 데 이 터 를 지속 적 으로 저장 하고 용 기 를 삭제 한 후에 도 데이터 가 존재 하 는 것 이다.
방법 1 - 로 컬 디 렉 터 리 를 용기 에 마 운 트 합 니 다.
docker run -d -p 8080:80 -v /html:/usr/share/nginx/html nginx #-v /html /usr/share/nginx/html
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
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
로 바 뀌 었 다.