Docker와 포트포워딩
- [ Backend ]/Infra
- 2023. 7. 17.
도커 컨테이너를 실행하면 NAT와 비슷한 환경에서 사용하게 된다.
컨테이너가 실행되는 호스트 시스템에는 이러한 기능이 사용되기 때문에, 외부에서 컨테이너 안에서 실행하는 프로그램에 대한 접근을 위해 포트포워딩이 필요할 수 있다. 한마디로 호스트의 해당 포트를 컨테이너의 대상 포트로 연결해서 컨테이너 외부에서도 접근할 수 있게 된다.
docker run -p 8080:80 --name redis_container redis_image
따라서 도커에서는 위와 같이 -p옵션을 통해서 포트포워딩을 설정할 수 있는데, 위와 같이 컨테이너를 실행하면 이 redis 컨테이너의 8080번 포트로 들어오는 모든 호스트 요청은 도커 컨테이너의 80번 포트로 전달된다. 만약 호스트의 8080포트가 이미 사용중인 경우, 8079로 접속하면 도커로 연결되도록 포워딩 해줄수도 있다.
얼마 전 redis 실행시 이러한 포트포워딩 설정을 해주지 않아 Connection 에러가 생긴적이 있다. (https://eckrin.tistory.com/157)
'[ Backend ] > Infra' 카테고리의 다른 글
Spring + Kotlin + Elastic Stack으로 로깅시스템 구축해보기 (0) | 2024.01.08 |
---|---|
쿠버네티스(Kubernetes) 알아보기 (0) | 2023.08.06 |
도커(Docker) 알아보기 (0) | 2023.07.14 |
OAuth2.0를 이용한 카카오 로그인 구현하기 (0) | 2023.02.13 |
Github Actions를 이용한 CI/CD환경 구축 (0) | 2022.12.28 |