이 글은 도커 허브 설치가 완료된 조건에서 MySQL 컨테이너를 생성하고 데이터를 컨테이너 내부에 있는 데이터베이스에 집어 넣는 과정을 정리한다. 사용한 버전은 8.0.22 버전을 사용한다. (컨테이너 종료시에 휘발되는 부분은 다음에 별도로 추가할 예정이다.)
docker run --name mysql_cont_1 -e MYSQL_ROOT_PASSWORD= -d -p 3305:3306 mysql:8.0.22
--name <container_name> : 원하는 이름으로 컨테이너이름을 설정한다.
-e : 컨테이너 안에서 사용하고 싶은 환경변수 옵션
(예시) MYSQL_ROOT_PASSWORD=는 컨테이너 안에서 생성될 MySQL Connection의 비밀번호이다.(비밀번호는 자기가 하고 싶은거 하면 된다.)
Detach 옵션(-d) : -d 옵션은 detach의 약자로 컨테이너가 백그라운드로 실행되도록 하는 옵션이다.
Port 옵션(-p) : -p 옵션은 MySQL 처음 설치해보면 포트번호를 설정하게 되는데 외부 접속한다는 개념으로 포트를 매칭시켜야 한다.
(사용방법) : -p <호스트번호><컨테이너 포트>

여기까지 하면 성공적으로 도커 안에 데이터베이스를 구축하였지만, 컨테이너를 지우면 데이터베이스도 함께 사라져서 반드시 Volume 처리를 해줘야 한다. 또, 볼륨 처리가 완료되면 데이터를 실시간으로 삽입해 보는 과정이 필요하다.
3306이라는 포트에 연결된 프로그램이 무엇인지 확인할 수 있다.(리눅스 명령어)
sudo lsof -i:3306
종료 방법
sudo kill <PID 번호>
컨테이너가 정상적으로 작동하지 않으면 에러를 디버깅 해봐야 한다.
docker logs <컨테이너 ID 숫자/영어 섞인거>
docker exec -it <컨테이너 ID 숫자/영어 섞인거> bash
echo MYSQL_ROOT_PASSWORD