컨테이너 간 데이터 공유
Docker 볼륨의 큰 장점 중 하나는 컨테이너 간에 데이터를 공유할 수 있다는 점입니다. 동일한 볼륨을 사용하는 또 다른 컨테이너를 만들어 보겠습니다.
docker run -d --name another_container -v my_data:/app/shared_data ubuntu:latest sleep infinity
이 명령은 이전과 매우 유사하지만, 컨테이너 이름을 다르게 지정하고 볼륨을 컨테이너 내부의 다른 경로에 마운트했습니다.
이제 이 새 컨테이너가 이전에 생성한 데이터에 접근할 수 있는지 확인해 봅시다.
docker exec another_container cat /app/shared_data/test.txt
앞서 작성했던 것과 동일한 "Hello from Docker volume" 메시지가 표시될 것입니다. 이는 두 컨테이너가 동일한 데이터를 공유하고 있음을 보여줍니다.
이 새 컨테이너에서 데이터를 더 추가해 보겠습니다.
docker exec another_container sh -c "echo 'Data from another container' >> /app/shared_data/test.txt"
이 명령은 test.txt 파일에 새로운 줄을 추가합니다.
이제 어느 컨테이너에서든 파일 내용을 확인하면 두 줄의 텍스트가 모두 보여야 합니다.
docker exec my_container cat /app/data/test.txt
출력 결과에 "Hello from Docker volume"과 "Data from another container"가 모두 표시되는 것을 확인할 수 있습니다.
이것은 Docker 볼륨이 컨테이너 간에 데이터를 공유하는 데 어떻게 사용될 수 있는지를 잘 보여주며, 이는 많은 애플리케이션에서 매우 유용하게 활용됩니다.