docker file step8_MySQL 환경변수와 볼륨 연결

이진욱·2025년 1월 10일
0

Docker 공부

목록 보기
18/22

ex05에 Dockerfile 추가 후 mysql-image 라는 이름으로 빌드

  • DB 계정 정보를 기입하였으니 추가로 만들 필요가 없다

이미지 구동 및 서버 실행 상태 확인

MySQL workbench에서 MySQL 로그인

  • Dockerfile에서 이미 만들어놨기 떄문에 따로 생성을 할 필요가 없다.

DB 계정에 접속 성공

해당 계정 선택

서버 터미널에서 환경 변수가 맞게 들어갔는지 확인이 가능하다

환경 변수 확인 : echo $환경변수명

README.md에 메모할 부분을 작성할 수 있다. 추후 관련 정보를 찾아 볼 때 도움이 된다

인코딩 확인 : SHOW VARIABLES LIKE 'characterset%';

윈도우 호스트 폴더와 MySQL 서버의 폴더에 볼륨을 연결한 채 구동을 해보고 잘 연결이 되었는지 확인해본다

docker run -d -v /$(pwd)/mysql-volume:/var/lib/mysql -p 3307:3306 --name mysql-container mysql-image

컨테이너를 삭제한 후 호스팅 폴더가 남아있는지 확인

컨테이너를 삭제해도 호스팅 폴더가 남아있음을 확인하였다.

이름 있는 볼륨 지정

기존 mysql-volume을 삭제한 후 다시 이미지를 구동하였따

docker run -d -v 볼륨명지정:복사받을경로 -p 호스트포트:내부포트 이미지명


생성한 볼륨에 테이블을 생성한 후 데이터를 기입해 보았다

테이블이 볼륨에 생성됨을 확인

컨테이너를 삭제한 후 볼륨이 남아있는지를 확인해 볼 것이다.

컨테이너를 삭제를 해도 볼륨이 아직 남아있음을 확인

데이터도 아직 남아있음을 확인

다시 이미지를 재구동하여 기존 볼륨을 잘 불러오는지 확인

데이터를 잘 가져오는 것을 확인하였다.

볼륨이 그대로 남아 있는 이유

컨테이너를 삭제한다고 해서 볼륨도 자동으로 삭제되지는 않습니다. Docker에서 컨테이너와 볼륨은 별개의 객체이기 때문에, 컨테이너를 삭제하더라도 연결된 볼륨은 그대로 남습니다.

컨테이너와 연결된 볼륨을 함께 삭제하려면 -v 플래그를 사용하여 컨테이너를 삭제할 때 볼륨도 함께 삭제할 수 있습니다.

docker rm -v <컨테이너 이름>

만약 볼륨만 따로 삭제하고 싶다면, docker volume rm 명령어를 사용하여 삭제할 수 있습니다:

docker volume rm <볼륨 이름>

profile
열심히 하는 신입 개발자

0개의 댓글