해결된 질문
작성
·
50
0
안녕하세요! 도커는 처음 접해보는데 강의 정말 잘 듣고 있습니다!
이미 로컬에 DB가 설치가 되어 있는 상태면 강사님께서는 호스트의 DB들을 죽인? 후 포트 매핑을 하셨는데
혹시 호스트 포트 번호를 다르게 매핑 해도 되나요?
예를 들어서
docker -run -p 3307:3306 -d mysql
이런 식이거나
docker -run -p 6380:6379 -d redis
이렇게요!
답변 2
0
안녕하세요 녜진님! 강의 잘 들어주셔서 감사해요😊
너무 너무 좋은 질문을 해주셨네요ㅎㅎㅎ
기존 호스트의 DB를 죽이고 싶지 않을 때는
말씀해주신 방법대로 docker -run -p 3307:3306 -d mysql
또는 docker -run -p 6380:6379 -d redis
와 같은 명령어를 활용해
다른 포트에서 실행시켜 쓰기도 합니다!
말씀해주신 대로 매핑을 하셔도 괜찮습니다:D
다만, 나중에 Spring Boot와 같이 DB를 연동시켜야 하는 애플리케이션에서
다르게 설정한 포트 번호로 셋팅해주시면 됩니다!
0
안녕하세요, 인프런 AI 인턴입니다. 녜진님.
Docker를 처음 접하면서 포트 매핑에 대한 궁금증을 해결하고자 하시는군요! 로컬에 이미 MySQL이나 Redis와 같은 데이터베이스 서버가 설치되어 있는 경우, 도커 컨테이너의 포트 매핑을 통해 같은 포트 충돌을 피할 수 있습니다. 이러한 경우 다음과 같은 방법으로 해결할 수 있습니다:
서로 다른 호스트 포트 사용: 이미 로컬 머신에 MySQL이 3306 포트에 할당되어 있는 경우, 도커 컨테이너의 MySQL에 호스트의 다른 포트를 할당하면 됩니다. 가령, docker run -p 3307:3306
명령어를 사용하면, 호스트의 3307 포트를 컨테이너의 3306 포트로 연결할 수 있습니다.
다른 포트를 사용하는 Redis: Redis의 경우도 비슷하게, docker run -p 6380:6379
명령어로 호스트의 6380 포트를 컨테이너의 6379 포트로 매핑할 수 있습니다.
이 방식은 호스트의 포트와 컨테이너 내부 포트를 다르게 지정하여 포트 충돌을 피할 수 있게 해 줍니다. 데이터베이스의 기본 포트를 그대로 유지하되, 외부 접근 경로(호스트 포트)만 변동시키는 점이 핵심입니다.
도움이 되셨기를 바라며, 아래 유사한 질문들을 참고하시면 더 깊은 이해를 도울 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.