안녕하세요 @realmankwon 입니다.
Ubuntu에서 Docker를 사용하여 MySQL을 설치하는 방법은 다음과 같습니다:
1 . Docker 설치:
Docker를 설치하기 위해 Ubuntu 패키지 관리자를 업데이트합니다.
sudo apt update
필요한 패키지를 설치합니다.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Docker 공식 GPG 키를 추가합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Docker 소스 리스트를 추가합니다.
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
패키지 관리자를 업데이트하고 Docker를 설치합니다.
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Docker가 올바르게 설치되었는지 확인합니다.
sudo docker run hello-world
2 . MySQL Docker 이미지 다운로드 및 실행:
MySQL Docker 공식 이미지를 다운로드합니다.
sudo docker pull mysql
MySQL 컨테이너를 실행합니다. (비밀번호와 포트는 필요에 따라 변경하세요)
sudo docker run -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
여기서 -p 3306:3306는 호스트와 컨테이너 간의 포트 매핑을 설정합니다. MySQL 서버는 컨테이너 내부의 3306 포트에 바인딩되며, 호스트의 3306 포트로 접근할 수 있습니다. -e MYSQL_ROOT_PASSWORD는 MySQL 루트 사용자의 비밀번호를 설정합니다.
MySQL 컨테이너가 정상적으로 실행되고 있는지 확인합니다.
sudo docker ps
3 . MySQL에 접속:
MySQL 컨테이너에 접속합니다.
sudo docker exec -it mysql-container mysql -u root -p
비밀번호를 요청하면 앞서 설정한 비밀번호를 입력합니다.
MySQL 셸에 성공적으로 접속하면 설치가 완료된 것입니다.
이제 Docker를 사용하여 Ubuntu에 MySQL을 설치하고 실행했습니다. 컨테이너가 중지되면 다시 시작하려면 sudo docker start mysql-container 명령을 사용하면 됩니다.
4 . Tool 을 이용한 접속
접속시에 Public Key Retrieval is not allowed 에러가 발생할 수 있습니다.
이때는 당황하지 않고 연결 구성 설정에서 "고급" 또는 "추가 옵션"과 같은 탭을 찾습니다.
그리고 allowPublicKeyRetrieval=true 로 설정하면 됩니다.
Dbeaver 에서는 다음과 같이 설정을 하면 잘 동작하였습니다.