작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
53
·
수정됨
0
강의처럼 myDB라는 DB를 만들고 컨테이너 삭제 후, 다시 실행했을때 그 DB가 남아있는지 확인해봤는데 안남아있네요.
아래의 로그는 제가 했을때의 로그입니다!
d----- 2025-04-06 오후 11:25 docker-mysql
PS C:\Users\icb16\dockervolume> cd docker-mysql
PS C:\Users\icb16\dockervolume\docker-mysql> docker run -e MYSQL_ROOT_PASSWORD=password123 -v C:\Users\icb16\dockervolume\docker-mysql -d mysql
24f951c78cbf0dab6bea6b4b8deaf8f29781ae613b3cad782bbf569e44acbda3
PS C:\Users\icb16\dockervolume\docker-mysql> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24f951c78cbf mysql "docker-entrypoint.s…" 12 seconds ago Up 11 seconds 3306/tcp, 33060/tcp optimistic_elion
PS C:\Users\icb16\dockervolume\docker-mysql> docker rm -f 24f951
24f951
PS C:\Users\icb16\dockervolume\docker-mysql> docker run -e MYSQL_ROOT_PASSWORD=password123 -d -p 3306:3306 -v C:\Users\icb16\dockervolume\docker-mysql\mysql_data:\var\lib\mysql -d mysql
068022ff288d2e9b7a4605e1da688688a43a14c9e0c1d31041d86067466d62a2
PS C:\Users\icb16\dockervolume\docker-mysql> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
068022ff288d mysql "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp friendly_hypatia
PS C:\Users\icb16\dockervolume\docker-mysql> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
068022ff288d mysql "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp friendly_hypatia
PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it 0680
docker: 'docker exec' requires at least 2 arguments
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
See 'docker exec --help' for more information
PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it 0680 bash
bash-5.1# ls
'\var\lib\mysql' bin dev etc lib media opt root sbin sys usr
afs boot docker-entrypoint-initdb.d home lib64 mnt proc run srv tmp var
bash-5.1# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 9.2.0 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql> create database myDB
-> ;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| myDB |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> ^C
mysql> ^C
mysql> ^C
mysql> exit
Bye
bash-5.1# exit
exit
PS C:\Users\icb16\dockervolume\docker-mysql> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
068022ff288d mysql "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp friendly_hypatia
PS C:\Users\icb16\dockervolume\docker-mysql> docker rm -f 068
068
PS C:\Users\icb16\dockervolume\docker-mysql> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
PS C:\Users\icb16\dockervolume\docker-mysql> docker run -e MYSQL_ROOT_PASSWORD=password123 -d -p 3306:3306 -v C:\Users\icb16\dockervolume\docker-mysql\mysql_data:\var\lib\mysql -d mysql
dcb75ed6d3fab0a0a320869e7728179f58299ec0e43b948408c599e8c9ecf089
PS C:\Users\icb16\dockervolume\docker-mysql> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dcb75ed6d3fa mysql "docker-entrypoint.s…" 14 seconds ago Up 13 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp zealous_spence
PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it dcb7
docker: 'docker exec' requires at least 2 arguments
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
See 'docker exec --help' for more information
PS C:\Users\icb16\dockervolume\docker-mysql> docker exec -it dcb7 bash
bash-5.1# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 9.2.0 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 김은준님!
Docker에서 MySQL 컨테이너를 실행한 후 데이터베이스가 유지되지 않는 문제를 겪고 계신 것 같습니다. 이 문제는 주로 볼륨 마운트가 적절히 설정되지 않았거나, 경로 관련 이슈가 있을 때 발생할 수 있습니다.
다음은 이와 관련해 고려해보아야 할 점들입니다:
볼륨 경로 확인:
-v
옵션으로 볼륨을 올바르게 마운트해야 합니다. 현재 사용 중인 경로 C:\Users\icb16\dockervolume\docker-mysql\mysql_data
가 실제로 사용 가능한 경로인지, 그리고 Docker가 해당 경로를 쓸 수 있는 권한이 있는지 확인해보세요. 윈도우에서 경로는 종종 첫 실행 때 만들어지지 않거나 권한 문제로 인해 쓰기가 불가능할 수 있습니다.WSL 환경 사용 시 주의사항:
/mnt/c/...
형식으로 변경이 필요할 수 있습니다.동일한 경로 사용 여부:
docker run
명령어를 사용하는 경우, 볼륨 경로가 동일해야 데이터를 지속적으로 유지할 수 있습니다.관련된 정보를 얻을 수 있는 유사한 질문 및 해결 방법에 관한 게시물을 소개해드리겠습니다:
윈도우 환경에서 실행하는데 보이지 않습니다. - Docker 볼륨과 관련된 이슈를 다루며 경로 및 권한 문제에 대한 해결을 제시합니다.
윈도우 볼륨 생성 안되는 문제 - 경로 및 마운트 문제를 해결하는 방법을 설명하는 게시물입니다.
저는 질문자님의 이해를 돕고자 지식 공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.