Docker에 mysql 컨테이너 생성 (Ubuntu, Docker Desktop)

Jina Kim·2022년 10월 26일
0
post-thumbnail

원래 로컬 PC에 mysql을 직접 설치해서 로컬 DB로 API 테스트해보다가
추후 개발서버의 DB를 접속했을 때의 DB 커넥션을 고려하기 위해
Docker에 Mysql 컨테이너를 생성해보기로 함.

Trobleshooting 스타뜨!

일단 도커를 설치했음.
난 GUI 러버라서 https://www.docker.com/products/docker-desktop/ 여기에서 docker desktop을 설치했다.

근데 내 PC는 가상화 설정이 되어있지 않아서 뭔가 docker가 실행이 잘 안되었다.

Hyper-V 하이퍼바이저


windows 기능 켜기/꺼기 창에서
Hyper-V 하이퍼바이저가 문제였음...

처음엔 저게 아예 체크부터 불가해서
시스템 재부팅 -> Del키 연타 -> BIOS 접속 -> (MSI bios기준) advanced mode -> OC -> CPU advanced configuration -> SVM Mode 활성화 -> (Setting이었나..) 저장하고 종료

하 이것땜에 재부팅을 몇번한겨!

WSL Ubuntu 설치 및 기본 계정 변경

PowerShell 터미널과 ubuntu도 설치했다.(Microsoft Store)
근데 root 계정으로 강제 로그인되었다.
난 내 계정으로 들어가고 싶은데!!

//PowerShell
PS C:\Users\jnkim528> ubuntu2204.exe config --default-user jnkim528

PowerShell에서 이렇게 유저계정으로 set 해주면
Ubuntu 켰을때 유저계정으로 로그인된다.

Mysql 포트 중복

// Ubuntu
# mysql 이미지 다운로드
$ docker pull mysql:5.7

우분투에서 위의 cmd로 mysql 이미지를 다운로드 받는다.

# mysql 컨테이너 생성
$ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=비번 -d -p 3306:3306 mysql:5.7

그리고서 mysql 컨테이너 생성하려는데

docker: Error response from daemon: Ports are not available
기존에 떠있던 로컬의 mysql때문에 port 중복으로 에러가 났다.

왜.... 다들 한번에 아름답게 안되세요,,

해결법
ctrl+Alt+Del로 작업 관리자 실행 > mysqlId 우클릭 > 서비스 중지

Docker Desktop Containers 확인하기

이렇게 고생해서 만든 mysql-container를 actions에서 실행
클릭 후 cli에서 mysql 접속하면 아래와 같이 DB를 볼 수 있다.

Ubuntu에서 docker container 확인하기

docker desktop이 아닌 ubuntu에서도 볼 수 있다.

$ docker exec -it mysql-container bash

이제 DB 접속하러 가봐야겠다...

profile
Hello, World!

0개의 댓글