개발관련

도커 CLI 실행 방법 도커 포트 설정 방법

2024. 1. 21. 18:03
목차
  1. 도커 포트 설정 기본
  2. 명령어 형식
  3. 예시
  4. 고려 사항
  5. 결론
반응형

도커(Docker)에서 이미지를 빌드 한 후 컨테이너를 실행할때 포트 설정을 통해 컨테이너와 호스트 간의 네트워크 연결을 구성하는 것은 중요한 과정입니다. 이 포스팅에서는 Docker에서 포트 설정을 하고 실행하는 방법에 대해 자세히 설명하겠습니다.

도커 포트 설정 기본

도커 컨테이너는 격리된 환경에서 실행되기 때문에, 외부와 통신하기 위해서는 포트를 명시적으로 개방해야 합니다. 이를 위해 docker run 명령어를 사용할 때 -p 또는 --publish 옵션을 사용합니다.

명령어 형식

docker run -p [호스트포트]:[컨테이너포트] [이미지 이름]
  • 호스트포트: 외부에서 접근할 때 사용할 호스트의 포트입니다.
  • 컨테이너포트: 컨테이너 내부에서 사용되는 포트입니다.
  • 이미지 이름: 실행할 도커 이미지의 이름입니다.

예시

  1. 단일 포트 개방 예시
    • 예를 들어, 호스트의 5000번 포트를 컨테이너의 80번 포트에 연결하려면 다음과 같이 입력합니다.
    • docker run -p 5000:80 dockerimage
    • 이 경우, 외부에서 호스트의 5000번 포트로 접근하면, 이 요청은 컨테이너의 80번 포트로 전달됩니다.
  2. 다중 포트 개방 예시
    • 여러 포트를 개방하려면 -p 옵션을 여러 번 사용합니다.
    • docker run -p 5000:80 -p 5001:81 dockerimage
    • 이 경우, 호스트의 5000번 포트는 컨테이너의 80번 포트로, 5001번 포트는 81번 포트로 매핑됩니다.

어플리케이션 예

// server.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello World from Docker!');
});

const PORT = 3000;
app.listen(PORT, () => {
    console.log(`Server running on port ${PORT}`);
});

3000 노드 서버를 실행하는 경우

# 사용할 Node.js 버전을 지정
FROM node:latest

# 애플리케이션 디렉토리 생성
WORKDIR /app

# 애플리케이션 소스 복사
COPY . .

# 애플리케이션 실행
CMD ["node", "server.js"]

노드 서버를 도커 이미즈를 빌드 하는 경우

docker build -t node-docker-app .

 

docker run -p 80:3000 node-docker-app

 

위와 같은 명령어로 실행하면 서버에 80포트로 접근하면 도커 이미지의 3000포트로 접속하기 때문에 실행시킨 어플리케이션 서버에 접속이 가능하다.

 

고려 사항

  • 포트 충돌: 이미 사용 중인 호스트 포트에 다른 컨테이너를 연결하려고 하면 충돌이 발생합니다. 이 경우, 다른 포트를 선택해야 합니다.
  • 보안: 외부로 개방하는 포트는 보안상의 위험이 있을 수 있으므로, 필요한 포트만 열고, 적절한 보안 조치를 취하는 것이 중요합니다.

결론

도커에서 포트 설정은 컨테이너의 서비스를 외부에 노출시키는 중요한 단계입니다. -p 옵션을 통해 호스트와 컨테이너 간의 포트 매핑을 쉽게 설정할 수 있으며, 이를 통해 외부 네트워크와의 통신이 가능해집니다. 항상 보안을 염두에 두고 필요한 포트만 개방하는 것이 중요합니다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'개발관련' 카테고리의 다른 글

next.js + jenkins + harbor + docker 배포 구성하기  (1) 2024.01.29
실무에 바로 써먹는 실용적인 도커 사용설명서  (0) 2024.01.23
Windows에서 개발 환경 세팅 하기 WSL 설치 및 사용법  (1) 2023.10.30
의존성 역전 원칙(Dependency Inversion Principle, DIP)  (0) 2023.07.10
SOLID 원칙: 객체 지향 설계의 기반을 이루는 원칙들  (0) 2023.07.10
  1. 도커 포트 설정 기본
  2. 명령어 형식
  3. 예시
  4. 고려 사항
  5. 결론
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
개발자 Dane
개발자 Dane
IT / 테크 전문 크리에이터 데인 입니다.
개발자 Dane
개발자 Dane의 IT 전문 블로그
개발자 Dane
반응형
  • 분류 전체보기 (170)
    • 개발관련 (24)
      • 프론트엔드 지식 (11)
      • 매일 코딩 테스트 챌린지 (27)
      • 자바스크립트 팁 (32)
      • 리액트 (11)
    • 얼리어답터 (11)
    • 팁 (13)
    • 게임 (18)
      • 디아블로2레저렉션 (16)
    • 운동하는 후니 (2)
전체
오늘
어제

태그

  • AWS
  • s3
  • 도커
  • 아이폰
  • 리액트
  • React
  • gos
  • 디아블로2
  • 바바리안
  • 레저렉션
  • 룬워드방패
  • 갤럭시성능뻥튀기
  • 갤럭시소비자기만
  • vscode
  • 디아블로4
  • 프로그래머스
  • Gatsby
  • 자바스크립트
  • 코딩테스트
  • 문자열
  • Next.js
  • GOS해제
  • yarn
  • 디아블로2레저렉션
  • PNP
  • 애플페이
  • javascript
  • 갤럭시긱벤치
  • 문자열정렬
  • docker

최근 댓글

hELLO · Designed By 정상우.
개발자 Dane
도커 CLI 실행 방법 도커 포트 설정 방법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.