hub.docker.com 에 접속해 mysql을 검색해보시면
이미지 사용법에 대해 자세히 나와있는데 한번 읽어보는 것을 추천드립니다.
위의 그림과 같이
shell에 명령어를 입력합니다.
docker run -e MYSQL_ROOT_PASSWORD="사용할 패스워드" -p 3306:3306 -d mysql
mysql 이 없으셨던 분들은 다운로드와 함께 image가 생성되었을 겁니다.
이제 컨테이너 내부로 접속해서 PASSWORD설정이 제대로 되었나 확인해봅니다.
docker exec -it cb0 bash 로 접속 후
echo $MYSQL_ROOT_PASSWORD 를 입력하시면 아까 설정했던 비밀번호가 나오는 걸 확인하실 수 있습니다.
마지막으로 mysql 접속테스트를 해볼건데 저는 mysql의 workbench를 활용해서 테스트를 해보았습니다.
접속 SUCCESS가 뜬 것을 확인하였습니다.
이로써 DOCKER로 MYSQL연동에 대해 알아보았습니다.
하지만 컨테이너 특성상 컨테이너가 종료되면 컨테이너 내부의 데이터도 모두 날라가는 문제가 발생하는데
이를 해결하기 위한 도커만의 특징인 볼륨에 대해 알고가셔야합니다.
https://steady-snb.tistory.com/73
도커(Docker) 볼륨의 정의와 사용법
우선 도커의 볼륨에 대해 알아보기 전에컨테이너의 특성과 문제점에 대해 알아보겠습니다. 컨테이너의 특성과 문제점 도커는 컨테이너를 활용해 특정 프로그램을 실행할 수 있습니다.이 프
steady-snb.tistory.com
위 글을 참조하여 도커의 볼륨에 대한 간략한 정의를 잡으시고
위의 명령어와 같이 mysql을 실행시켜줍니다.
docker exec -it 컨테이너ID bash를 입력하여 컨테이너에 접속 후
mysql -u root -p를 입력하여 mysql 에 접속하겠습니다.
Enter password:에는 아까 자신이 설정했던 패스워드를 입력해주도록합니다.
패스워드 입력 후 엔터를 누르시면 위의 그림과 같이 mysql에 접속이 된 것을 확인하실 수 있습니다.
데이터 베이스 접속 후
create database mydb;라는 명령어로 데이터 베이스를 생성 후
show databases; 를 입력하여 생성된 db를 확인해줍니다.
이후 exite를 하여 종료 후
docker rm -f 컨테이너ID를 입력하여 아까 DB생성했었던 컨테이너를 강제 삭제합니다.
삭제 후 아까했던 방법대로 다시 컨테이너를 생성 후
mysql에 접속해서 show databases;를 입력해보시면
일전에 생성했던 mydb라는 데이터베이스가 사라진 것을 확인하실 수 있습니다.
이러한 현상을 방지하고자 볼륨을 사용하여 mysql을 실행하셔야합니다.
먼저 data를 백업시켜둘 공간을 생성합니다.
저는 c드라이브에 datastore이라는 폴더에 저장하도록 하겠습니다.
cd C:\datastore 명령어를 입력하여 저장할 공간으로 이동해 줍니다.
docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v {호스트의 절대경로}/mysql_data:/var/lib/mysql -d mysql
-v 부터는 볼륨을 사용하겠다라는 명령어입니다. 위의 명령어를 참고하여 명령어를 입력해줍니다.
컨테이너 실행 후 실행된 컨테이너 내부로 접속하여 mysql에 접속해줍니다.
아까와 같이 mydb라는 데이터베이스를 생성해줍니다.
데이터 베이스를 생성 후 exit로 나와 컨테이너를 삭제해줍니다.
컨테이너 삭제 확인 후 아까와 같은 방법으로 볼륨으로 mysql을 생성하여 접속 후
show databases;를 입력해보시면 컨테이너 삭제 전에 생성했던 mydb를 볼 수 있습니다.
이처럼 볼륨이라는 것은 호스트 공간을 공유하여 사용하기 때문에
컨테이너가 삭제되도 데이터를 영속적으로 보존할 수 있습니다.
출처 - 인프런 비전공자도 이해할 수 있는 Docker 입문/실전 중..
비전공자도 이해할 수 있는 Docker 입문/실전 강의 | JSCODE 박재성 - 인프런
JSCODE 박재성 | , 🤬 에라이, 못 해먹겠네!비전공자로 개발을 시작해 여러 회사에서 CTO로 활동하다가, 현재는 교육자로 활동하고 있는 박재성이라고 합니다. 저도 비전공자로 개발을 시작해 서버
www.inflearn.com
'IT지식 > 도커(Docker) 사용법' 카테고리의 다른 글
7.컨테이너 내부 접속하기 (0) | 2025.02.10 |
---|---|
6.컨테이너 로그 조회 및 삭제 (0) | 2025.02.10 |
5. 컨테이너 외부 호스트 포트와 컨테이너 포트 연결 (0) | 2025.02.10 |
4.도커 이미지 및 컨테이너 삭제 (0) | 2025.02.10 |
3. 도커 컨테이너 생성 및 실행 (0) | 2025.02.10 |