[파이썬] 도커 컨테이너와 호스트 각 포트 매핑

도커(Docker)는 애플리케이션을 컨테이너화하여 효율적으로 배포, 관리 및 실행할 수 있는 오픈소스 플랫폼입니다. 도커 컨테이너는 가상화된 환경에서 실행되기 때문에 호스트와 분리된 네트워크를 사용합니다. 따라서, 도커 컨테이너와 호스트 간의 통신을 위해서는 포트 매핑을 설정해야 합니다.

도커 컨테이너와 호스트 각 포트 매핑은 컨테이너 내부 포트와 호스트의 포트를 일치시키는 과정입니다. 이를 통해 외부에서 도커 컨테이너에 접근할 수 있습니다. 이 글에서는 파이썬을 사용한 도커 컨테이너와 호스트 각 포트 매핑에 대해 알아보겠습니다.

설치

도커를 사용하기 위해 우선 도커를 설치해야 합니다. 도커를 설치하는 방법은 여러 가지가 있으며, 운영체제에 따라 다를 수 있습니다. 도커 공식 문서를 참고하여 도커를 설치해주세요.

예제 코드

아래는 파이썬으로 도커 컨테이너와 호스트 각 포트 매핑을 설정하는 예제 코드입니다. 이 예제 코드에서는 Flask 웹 애플리케이션을 도커 컨테이너로 실행하고, 5000번 포트와 호스트의 8080번 포트를 매핑합니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Docker!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

위 코드를 “app.py”라는 파일로 저장합니다.

도커 컨테이너 빌드 및 실행

  1. 터미널을 열고 해당 예제 코드가 있는 디렉토리로 이동합니다.

  2. 아래 명령을 실행하여 도커 이미지를 빌드합니다. “my-flask-app”은 이미지의 이름입니다.

docker build -t my-flask-app .
  1. 이미지 빌드가 완료되면 아래 명령을 실행하여 도커 컨테이너를 실행합니다. “-p” 옵션은 포트 매핑을 설정하는 옵션입니다. “8080:5000”은 호스트의 8080번 포트와 컨테이너의 5000번 포트를 매핑하는 것을 의미합니다.
docker run -p 8080:5000 my-flask-app
  1. 웹 브라우저에서 “http://localhost:8080”에 접속하여 도커 컨테이너에 배포된 Flask 애플리케이션을 확인할 수 있습니다.

결론

도커 컨테이너와 호스트 각 포트 매핑은 도커를 효율적으로 사용하기 위한 필수적인 요소입니다. 이 글에서는 도커 컨테이너 내부에서 실행되는 파이썬 애플리케이션의 포트 매핑에 대해 다루었습니다. 도커를 사용하여 애플리케이션을 배포하고 관리함에 있어서, 포트 매핑은 중요한 개념 중 하나입니다.