티스토리 뷰
Study/FastCampus
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 환경설정3 Docker Desktop
코딩하는 앤지 2023. 8. 10.728x90
반응형
오늘은 Docker를 다운받아 MySQL 이미지를 실행하려 한다.
1. Docker Desktop
- Docker Desktop 웹사이트에 들어가 os에 맞는 도커 데스크탑을 설치한다.
- https://www.docker.com/products/docker-desktop/
- 설치가 다 되었다면 재부팅을 해주고, 아래 코드를 통해 확인해 볼 수 있다.
docker -v
- 도커 데스크탑을 열 때, wsl 버전이 낮아 실행하지 못하는 문제가 있었다.
- linux용 windows 하위 시스템이 설치되지 않았어서 문제가 발생했던 것으로 보인다.
- 안내되는 것처럼 cmd 창에 wsl --update 를 실행하여 문제를 해결할 수 있다.
2. MySQL Image
- MySQL image는 docker hub에서 다운받을 수 있다.
- https://hub.docker.com/
- 웹사이트에 접속하여 mysql을 검색하고 위의 MySQL을 선택하면 도커 이미지를 다운받을 수 있는 명령어를 알 수 있다.
docker pull mysql:{version}
- 가장 최근에 업데이트 된 버전을 사용하고 싶다면 {version}에 latest를 작성하여 실행하면 된다.
- 이후에 docker run 명령어를 통해 mysql 이미지를 실행할 수 있는데, 만약 docker pull을 하지 않은 상태라면 자동으로 다운받아 준다.
# docker run --name {container name} -e MYSQL_ROOT_PASSWORD={password} -d -p 3306:3306 mysql:{version}
docker run --name mysql-sample-container -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306 mysql:latest
- doker run 명령어 옵션 ( 컨테이너 실행 명령어 )
- --name // 컨테이너 이름 설정 (mysql-sample-container)
- -e // 컨테이너 내 환경 변수 설정 (ex 비밀번호 설정)
- -d // 백그라운드에서 컨테이너 실행
- -p // 사용할 포트 지정
- 만약 아래와 같은 에러로 포트가 지정되지 않을 경우, 이미 3306 포트가 사용되고 있어서 사용이 불가능하다는 뜻으로 포트 번호를 변경해주면 된다.
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306
- 예를 들어 현재 사용되지 않고 있는 3307 포트가 있다면 -p 3307:3306 로 수정했을 때 에러를 해결할 수 있다.
- netstat -ano | findstr :3307 코드를 cmd 창에 입력하였을 때 아무것도 나오지 않아야 사용되지 않는 포트이다.
- 여기서 3307:3306의 의미는 호스트의 3307 포트와 컨테이너의 3306 포트를 연결한다는 것이다.
- 이 때 이미 컨테이너는 생성이 되었고, 포트만 부여되지 않은 것이기 때문에 컨테이너명이 중복되어 생성되지 않는 문제가 생길 수 있다.
- 그럴 땐 해결할 두가지 방법이 있다.
- 간단하게 컨테이너 이름을 변경하는 방법이 있고,
- docker ps -a 를 통해 컨테이너의 아이디를 확인하고, docker rm {컨테이너 아이디} 를 통해 기존의 컨테이너를 삭제한 뒤 다시 생성해주는 방법이 있다.
- 컨테이너를 잘 실행하였다면, MySQL의 도커 컨테이너에 접속하여 mysql을 실행할 수 있다.
- 컨테이너에 접속하여 bash 창이 떴을 때
docker exec -it mysql-sample-container bash
- mysql을 실행하는 코드를 입력한다.
mysql -u root -p
- 패스워드는 컨테이너를 생성할 때 설정하였던 것을 사용하면 된다.
- 그러면 mysql이 잘 실행되는 것을 볼 수 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
728x90
반응형
'Study > FastCampus' 카테고리의 다른 글
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 학점계산기, 음식주문 (0) | 2023.08.12 |
---|---|
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 객체지향 (0) | 2023.08.11 |
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 테스트코드 (0) | 2023.08.10 |
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 환경설정2 IntelliJ webapp (0) | 2023.08.09 |
[Java Project] Part 1. 나만의 MVC 프레임워크 만들기 - 환경설정1 (0) | 2023.08.08 |
댓글