십대를 위한 코딩/십대를 위한 파이썬

[Docker] Python 코드 직접 입력 사용법

forSilver 2025. 9. 27. 10:31
반응형

 

명령어 전체

docker compose exec app python -c "import allauth; print(allauth.__version__)"

1. docker compose

  • Docker Compose 명령을 실행한다는 뜻입니다.
  • 여러 컨테이너(app, db, nginx 등)를 정의한 docker-compose.yml을 바탕으로 관리합니다.

2. exec

  • 이미 실행 중인 컨테이너 안에서 명령을 실행한다는 옵션입니다.
  • docker compose exec <서비스이름> <명령> 구조를 가집니다.

3. app

  • docker-compose.yml에 정의된 서비스 이름입니다.
  • 지금 프로젝트에서는 Django 애플리케이션 컨테이너가 app이므로, 그 안에서 명령을 실행합니다.

4. python

  • 컨테이너 내부에서 Python 인터프리터를 실행하겠다는 뜻입니다.
  • 즉, 컨테이너 안으로 들어가서 바로 Python을 실행하는 것과 같습니다.

5. -c

  • Python 실행 시 코드 문자열을 직접 전달하는 옵션입니다.
  • 즉, .py 파일을 실행하는 대신 "..." 안의 한 줄짜리 파이썬 코드를 바로 실행합니다.

실행화면 일부


6. "import allauth; print(allauth.__version__)"

  • 실제 Python 코드 부분입니다.
    1. import allauth → django-allauth 모듈을 불러옵니다.
    2. print(allauth.__version__) → 불러온 모듈의 버전 번호를 출력합니다.

📌 요약

따라서 전체 명령은 이렇게 해석할 수 있습니다:

"docker-compose.yml에서 정의된 app 컨테이너 안에 들어가 Python을 실행하고, 그 자리에서 allauth 모듈을 임포트한 다음 버전 번호를 출력하라."


docker compose exec app python -c "import allauth; print(allauth.__version__)"