Window(cmd) / MAC(terminal) 에서 진행한다고 가정
1. mysql 이미지 다운로드하기
docker pull mysql:8.0.38
버전은 알잘딱
2. 이미지 조회
docker images
3. MySQL 환경 세팅
myproject 라는 컨테이너에서 root 계정의 비밀번호를 root라고 하고 3306포트 통해서 MySQL 띄우기
docker run --name mycontainer -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:8.0.38
run : mysql 이미지를 컨테이너로 실행하는 명령어
--name {컨테이너이름} : 컨테이너의 이름 지정
MYSQL_ROOT_PASSWORD : MySQL 비밀번호 환경 변수 root로지정
-d : 컨테이너를 백그라운드에서 실행
-p 3306: 3306 : 호스트 포트와 mysql 컨테이너 포트 3306으로 매핑
-> 3306 = mysql 서버가 사용하는 포트
-> 호스트의 3306 포트로 컨테이너의 3306 포트로 접근
4. 실행중인 컨테이너 확인
docker ps
마지막에 -a 붙이면 (종료된거 포함)모든 컨테이너 확인
5. 컨테이너 접속
docker exec -it myproject bash
하고 나서 db접속은
mysql -u root -p
6. 컨테이너 종료됐으면
docker ps -a 로 컨테이너 ID확인
docker start {컨테이너ID}
7. 컨테이너 삭제
docker rm -f {컨테이너ID}
추가. 특정포트 물고있는 프로세스 죽이기
Window
netstat -ano | findstr 3306 # 으로 찾기
taskkill /pid {프로세스아이디} /f
MAC
lsof -i :{포트번호} # 로 찾고
kill -15 {PID번호} # 로 죽이기
kill -9 로도 종료할 수 있는데 이건 강제종료라고 한다(정보 유실 가능성)
-15로 죽이면 소프트웨어 종료 시그널이라서 더 안전하다고 한다.
15로도 안죽으면 9로 죽이랜다.
'매번 찾기 귀찮은 것들' 카테고리의 다른 글
깃허브 레포파고 프로젝트 올리기 (0) | 2025.01.25 |
---|