inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] Docker로 MySQL 실행시켜보기 - 1

이미 로컬에 mysql/redis가 설치되어 있을 때 포트매핑

해결된 질문

226

녜진

작성한 질문수 1

0

안녕하세요! 도커는 처음 접해보는데 강의 정말 잘 듣고 있습니다!


이미 로컬에 DB가 설치가 되어 있는 상태면 강사님께서는 호스트의 DB들을 죽인? 후 포트 매핑을 하셨는데

혹시 호스트 포트 번호를 다르게 매핑 해도 되나요?
예를 들어서

docker -run -p 3307:3306 -d mysql

이런 식이거나

docker -run -p 6380:6379 -d redis

이렇게요!

docker docker-compose docker-volume docker-image container ecr

답변 2

0

JSCODE 박재성

안녕하세요 녜진님! 강의 잘 들어주셔서 감사해요😊

너무 너무 좋은 질문을 해주셨네요ㅎㅎㅎ

 

기존 호스트의 DB를 죽이고 싶지 않을 때는

말씀해주신 방법대로 docker -run -p 3307:3306 -d mysql

또는 docker -run -p 6380:6379 -d redis와 같은 명령어를 활용해

다른 포트에서 실행시켜 쓰기도 합니다!

 

말씀해주신 대로 매핑을 하셔도 괜찮습니다:D

다만, 나중에 Spring Boot와 같이 DB를 연동시켜야 하는 애플리케이션에서

다르게 설정한 포트 번호로 셋팅해주시면 됩니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 녜진님.

Docker를 처음 접하면서 포트 매핑에 대한 궁금증을 해결하고자 하시는군요! 로컬에 이미 MySQL이나 Redis와 같은 데이터베이스 서버가 설치되어 있는 경우, 도커 컨테이너의 포트 매핑을 통해 같은 포트 충돌을 피할 수 있습니다. 이러한 경우 다음과 같은 방법으로 해결할 수 있습니다:

  1. 서로 다른 호스트 포트 사용: 이미 로컬 머신에 MySQL이 3306 포트에 할당되어 있는 경우, 도커 컨테이너의 MySQL에 호스트의 다른 포트를 할당하면 됩니다. 가령, docker run -p 3307:3306 명령어를 사용하면, 호스트의 3307 포트를 컨테이너의 3306 포트로 연결할 수 있습니다.

  2. 다른 포트를 사용하는 Redis: Redis의 경우도 비슷하게, docker run -p 6380:6379 명령어로 호스트의 6380 포트를 컨테이너의 6379 포트로 매핑할 수 있습니다.

이 방식은 호스트의 포트와 컨테이너 내부 포트를 다르게 지정하여 포트 충돌을 피할 수 있게 해 줍니다. 데이터베이스의 기본 포트를 그대로 유지하되, 외부 접근 경로(호스트 포트)만 변동시키는 점이 핵심입니다.

도움이 되셨기를 바라며, 아래 유사한 질문들을 참고하시면 더 깊은 이해를 도울 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

EC2 터미널에서 docker pull

0

62

2

AWS ECR

0

57

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

100

2

Redis 볼륨 설정?

0

117

2

컨테이너의 IP

0

80

2

도커 이미지를 만들 때 application.yml

0

105

2

compose.yml 관리

0

87

2

ECR 리포지토리에 이미지가 3개가 보입니다.

0

77

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

83

1

depends_on에 따른 컨테이너 실행 순서

0

76

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

72

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

72

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

69

2

도커파일 copy

0

70

2

실무에서 docker compose up --build를 할 때

0

185

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

85

2

도커 허브에서 postgres 버전 확인하는 법

0

127

2

보충 자료와도 관련된 추가 내용

1

82

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

110

2

노션 자료에 안 보이는 이미지가 있습니다

0

100

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

119

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

86

2