본 내용은 Microsoft에서 제공하는 Docker 자습서 내용을 정리한 글입니다.
원문과 내용이 비슷하지만, Docker를 접하기에 아주 유용한 문서로 개인 학습 및 정보공유 차원에서 작성합니다.
1 에서 10,000 사이의 난수가 포함된 /data.txt
파일을 만드는 ubuntu
컨테이너를 시작함.
$ docker run -d ubuntu bash -c "shuf -i 1-10000 -n 1 -o
/data.txt && tail -f /dev/null"
exec
로 컨테이너에 액세서하여 출력이 표시되는지 확인함.
$ docker exec <Container ID> cat /data.txt
난수가 표시되어야 함
이제 다른 ubuntu
컨테이너(같은 이미지) 를 시작하면 같은 파일이 없다는 것을 확인할 수 있음
$ docker run -it ubuntu ls /
컨테이너를 살펴보고 data.txt
파일이 없는 것을 확인합니다. 파일이 첫 번째 컨테이너의 스크래치 공간에만 작성되었기 때문
계속해서 docker rm -f
명령을 사용하여 첫 번째 컨테이너를 제거함
볼륨에는 두 가지 기본 유형이 있음
시작은 명명된 볼륨으로 함
기본적으로 todo 앱은 /etc/todos/todo.db
에 있는 SQLite 데이터베이스에 데이터를 저장함
todo.db
파일에 쓰면 볼륨의 호스트에 보관 됨docker volume create
명령을 사용하여 볼륨을 생성
$ docker volume create todo-db
영구적인 볼륨을 사용하지 않고 계속 실행됨에 따라 Todo 앱 컨테이너를 중지함 (docker rm -f <id>
)
todo 앱 컨테이너를 시작하되, -v
플래그를 추가하여 볼륨 탑재를 지정함. 명명된 볼륨을 사용하고 /etc/todos
에 탑재하면 경로에 생성된 모든 파일이 캡쳐됨
$ docker run -dp 3000:3000 -v todo-db:/etc/todos getting-started
컨테이너가 시작되면 앱을 열고 todo 목록에 몇 개의 항목을 추가함
docker rm -f <id>
)