1) cmd를 켜서 마리아디비 설치
docker pull mariadb
⇒ 알아서 막 설치함
docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
- 3306 : 데이터베이스도 무언가 제공해주는 하나의 서버이기 때문에
통신을 하고 싶으면 포트번호 를 맞춰야 함 - restart항상 할거다
- Root password 는 root다
2) docker: invalid reference format. 에러 해결
docker: invalid reference format. See 'docker run --help'.
⇒ 이 에러가 떴다…
하이픈 2개인데 1개쳐서 났던 에러였음 해결 완
(노션에서 치고 복사했더니 하이픈 2개가 1개가 되어서 났던에러)
3) docker: Error response from daemon: Ports are not available: 에러(포트번호 이미 사용중)
1) 기존에 MySQL을 설치한 적이 있거나
2) 시스템에서 사용자가 못쓰게 점유
= 이 두가지 경우에 발생하는 에러이다.
나는 기존에 MySQL 설치한적이 없기에 2번에 해당했음(시스템에서 못쓰게 함)
1) 파워셸 관리자모드 실행
2) 잡았다 요놈
netsh interface ipv4 show excludedportrange protocol=tcp
⇒ 우선 침착하게 이걸 cmd창에 쳐준다
⇒ 3236 ~ 3335 는 점유중 ^^
점유 포트 전부 초기화해버리자!
net stop winnat → 일단 서비스 멈추고
net start winnat → 다시 시작
netsh interface ipv4 show excludedportrange protocol=tcp → 점유 포트 확인
⇒ 순서대로 잘 따라치면
⇒ 깨끗하다
원하는 포트 예외처리
netsh int ipv4 add excludedportrange protocol=tcp startport=3306 numberofports=1 store=persistent
⇒ MariaDB는 3306
다시 점유포트 확인
netsh interface ipv4 show excludedportrange protocol=tcp
굿
다시 docker에 mariaDB 설치 시도
docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
4) Error response from daemon: Conflict. The container name "/mariadb" is already in use by container 해결방법(이미 설치되었다)
다시 docker에 mariaDB 설치 시도했을 때 나는 에러(안날수도 있음)
docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
💡 도커 : 이미 깔려있어요…(에러)
docker: Error response from daemon: Conflict. The container name "/mariadb" is already in use by container "fbe6ee1ccb6d294a81189c40867ba0ca65db043ebbfc807b5b4969a13ffdbea6". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help'.
</aside>
⇒ ㅇㅇ 괜찮아 삭제할거야
docker ps -a → 정지된 컨테이너 확인(ID확인)
docker rm 컨테이너ID → 컨테이너 삭제
docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
→ mariaDB 설치
→ 이제 에러안난다
⇒ 허용하고 예!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
설치완료
5) bash: mysql: command not found 에러 해결
그저 하염없이 눈물이나…
이 에러는 mysql 명령어가 컨테이너 내에서 실행되지 않고 있음을 나타냅니다.
컨테이너 내에서 MySQL 클라이언트 도구가 설치되어 있지 않거나
PATH 환경 변수가 제대로 설정되지 않은 경우에 발생할 수 있습니다.
⇒ 응 해결할거야
1) mariaDB가 있는 컨테이너 접속
docker exec -it mariadb /bin/bash
⇒ 도커야 mariaDB 컨테이너 실행시켜줘
2) mariaDB 실행
mysql -u root -p
여기서 해당 에러가 뜬다
<해결방법>
1) 그냥 침착하게 apt-get update해서 MySQL클라이언트 설치
apt-get update
대충 이러고 다 깔리면
2) 그다음 침착하게 mariaDB클라이언트 설치
apt-get install mariadb-client
그러다가 디스크 용량 필요한데 계속할거냐 하면 Y누르기
열심히 깔리는거 구경하다가 다 깔리면 다시
mariadb -u root -p
하고 엔터치면 Enter parrword: 뜨는데 여기다가 root치면 됨 화면에는 안보임
(예전에는 mysql -u root -p해도 먹혔는데 이제는 안됨)
짜잔 이러면 드디어 mariaDB접속됨
'개발 > 개발 - 기본 설정' 카테고리의 다른 글
도커(Docker) 설치하기 (0) | 2024.03.18 |
---|---|
Node.js 설치하기 (0) | 2024.03.18 |
파이썬 - 0.설치 (0) | 2023.08.01 |
[JavaScript]Tern (1) | 2020.09.17 |
[Eclipse] Ctrl+Alt+Down (Copy Lines)이 먹히지 않을 때 (0) | 2020.09.17 |