사용하지 않는 컨테이너 정리
docker container prune
docker mysql 컨테이너 데몬으로 실행
docker container run -d -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=fleetman mysql:5
컨테이너에 접속해서 bash 실행
docker container exec-it [containerID] bash
mysql -p[password]
mysql> show databases;
mysql> use fleetman;
mysql> create table temp (temp varchar(255));
docker container stop [containerID]
중지후 다시 컨테이너를 실행하면 내가 만들었던 데이터는 사라진다.
그 이유는 dockerhub를 보면 알수가 있는데
volume /var/lib/mysql 부분만 남아있고 나머지 데이터는 날라간다고 한다.
docker volume ls
볼륨 리스트 정리
docker volume prune
볼륨과 이름을 지정하면 재사용이 가능;
docker container run -d -v mydata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=fleetman mysql:5
docker volume ls
결과
docker volume inspect mydata
docker container exec -it [containerId or containerName] bash
mysql -p[password]
mysql> show databases;
mysql> use fleetman;
mysql> create table does_this_persist(dummy varchar(255));
mysql> exit
docker container stop [containerID]
docker container rm [containerID]
컨테이너를 삭제해도 볼륨에 남아 있음
실행 결과
volume mydata가 남아있다.
다시 컨테이너를 실행하면..
docker container run -d -v mydata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=fleetman mysql:5
docker container exec -it [containerId or containerName] bash
mysql -p[password]
mysql> show databases;
mysql> use fleetman;
mysql> show tables;
결과
삭제된 컨테이너 볼륨이 남아있다.
출처 강의
https://www.udemy.com/course/docker-java-developer
'가상화 기술과 관리 > Docker' 카테고리의 다른 글
도커 오케스트레이션 시스템 (0) | 2024.03.23 |
---|---|
Docker 노트정리4 (docker-compose) (0) | 2024.02.24 |
Docker - Java 개발자를 위한 완벽 실습 과정 노트정리2 (도커 네트워크) (1) | 2024.01.13 |
Docker노트정리 commit, build(jar, war) (0) | 2023.12.25 |
[Docker] image commit, build 방식 차이 (1) | 2023.12.23 |