inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] Docker로 MySQL 실행시켜보기 - 4

공유 폴더가 덮어씌워지는 것에 대한 질문

118

재영

작성한 질문수 55

0

안녕하세요. 강의 잘 듣고 있습니다.

 

docker run -e MYSQL_ROOT_PASSWORD=test123 -d -p 3306:3306 -v /own/dir:/var/lib/mysql mysql

명령어를 통해 1차적으로 도커 볼륨을 이용해 컨테이너를 생성한 후에, 해당 컨테이너를 삭제하였습니다.

(dir 폴더는 따로 생성하지 않았고, 컨테이너 생성 시 명령어를 통해 생성되게끔 하였습니다)

 

이후 같은 명령어로 컨테이너를 생성하게 되면, 해당 폴더가 호스트 컴퓨터에 존재하므로 해당 호스트 컴퓨터 폴더 안의 파일들이 컨테이너 안의 /var/lib/mysql/ 안에 덮어씌워지게 되기 때문에 서로 공유가 가능한 것. 제가 이해한 게 맞는지 확인 부탁드립니다!

docker docker-compose docker-volume docker-image container ecr

답변 2

0

JSCODE 박재성

안녕하세요 재영님! 강의 잘 들어주셔서 감사합니다~~

말씀해주신 내용을 쭉 읽어보니 잘 이해하신 것 같습니다!👍👍

이 외로 또 궁금하신 점이나 이 부분 관련해서 더 궁금한 점 있으시면 댓글 남겨주세요~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 재영님.

Docker에서 볼륨을 사용하여 컨테이너와 호스트 간 데이터 공유에 대해 질문 주셨네요. Docker의 볼륨 기능은 컨테이너 데이터를 지속적으로 유지하는데 중요한 역할을 합니다.

Docker 볼륨 동작 방식 설명

  1. 볼륨 개념:

    • -v /own/dir:/var/lib/mysql 옵션은 호스트의 특정 디렉토리를 컨테이너 내부의 디렉토리에 마운트합니다. 이로 인해 호스트와 컨테이너 간에 데이터를 공유하거나 지속적으로 보관할 수 있습니다.
  2. 컨테이너 삭제 시 동작:

    • 만약 볼륨으로 마운트된 컨테이너를 삭제해도, 실제 호스트 디렉토리에 있는 데이터는 사라지지 않습니다. 따라서 언제든지 같은 볼륨 설정으로 컨테이너를 실행하면, 이전의 데이터를 그대로 사용할 수 있게 됩니다.
  3. 호스트 내부의 폴더 사용:

    • 질문하신 시나리오처럼, 컨테이너가 생성되면서 호스트 디렉토리가 함께 만들어졌다면, 그 이후 같은 디렉토리를 사용하는 모든 컨테이너는 그 디렉토리에 저장된 데이터를 사용할 수 있습니다. 이는 호스트 디렉토리에 저장된 데이터가 컨테이너의 /var/lib/mysql에 덮어씌워진다는 의미이기도 하죠.

이러한 방식으로 Docker 볼륨은 데이터를 유지하고 재사용할 수 있는 환경을 제공합니다.

제 설명이 도움이 되었기를 바라며, 유사한 질문을 통해 추가적인 이해를 도울 수 있는 링크를 추천드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

EC2 터미널에서 docker pull

0

64

2

AWS ECR

0

57

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

100

2

Redis 볼륨 설정?

0

117

2

컨테이너의 IP

0

80

2

도커 이미지를 만들 때 application.yml

0

105

2

compose.yml 관리

0

88

2

ECR 리포지토리에 이미지가 3개가 보입니다.

0

77

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

83

1

depends_on에 따른 컨테이너 실행 순서

0

76

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

73

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

73

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

70

2

도커파일 copy

0

70

2

실무에서 docker compose up --build를 할 때

0

186

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

85

2

도커 허브에서 postgres 버전 확인하는 법

0

127

2

보충 자료와도 관련된 추가 내용

1

82

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

110

2

노션 자료에 안 보이는 이미지가 있습니다

0

101

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

120

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

86

2