MongoDB 컨테이너에 실수로 포트 바인딩을 안 해줬다.
현재까지 작업한 컨테이너를 도커 이미지로 만들고 다시 컨테이너로 만들어서 포트 바인딩을 해주자
1. 현재 로컬 호스트에서 실행 중인 컨테이너 확인
2. 컨테이너를 새로운 이미지로 생성
#docker commit [contain id] [username/imagename]
> docker commit 3eb9f46e874a mongodb:1
3. 이미지 확인
3. 컨테이너 재실행하면서 포트바인딩 해주기
- 도커 내부의 27019번 포트를 호스트 머신의 27019번 포트로 매핑하여 외부로 오픈해준다.
- Mysql 문자셋 utf8m64설정 한 거 처럼 mongodb도 그렇게 해줄려고 했는데..안해도 된다.. 링크 참조함.
(https://stackoverflow.com/questions/26167421/is-it-possible-to-store-utf8-mb4-in-mongodb)
# 1. Expose port
# docker run -p [외부 포트]:[도커 컨테이너 내부의 포트]
> docker run -d -p 27019:27019 --name spring-mong mongodb:1
4. 컨테이너 이름 변경
실수로 spring-mong이라고 저장해서 spring-mongoDB로 변경
# docker rename CONTAINER NEW_NAME
docker rename spring-mong spring-mongoDB
5. 확인
참고로 나는 mongo 버전을 6.0으로 설치했기때문에
mongo가 아니라 mongosh를 사용해야한다.
'클라우드 > Docker' 카테고리의 다른 글
no space left on device 해결 (0) | 2024.03.20 |
---|---|
Postgres를 도커 컨테이너로 만들고 도커 컴포즈로도 관리하기 (with volumes) (2) | 2024.02.16 |
JAVA,Python 애플리케이션을 도커파일로 만들고 도커 컴포즈로 관리하기 (0) | 2024.02.16 |