본문 바로가기
devops

Colima + IntelliJ에서 Docker Compose 실행 문제 해결

by yhames 2025. 9. 30.
728x90
해당 글은 ChatGPT를 활용하여 작성하였습니다. AI 특성상 잘못된 정보가 포함되어있을 수 있습니다.

 

 

1. 문제 상황

개인 개발 환경에서 Colima를 사용하고 있었는데,
IntelliJ에서 Docker Compose 실행을 시도하니 문제가 발생했다.

  • IntelliJ는 기본적으로 docker compose (공식 v2 CLI)를 호출
  • 하지만 내 Colima 환경에서는 docker-compose (하이픈 버전)만 동작
  • 결과적으로 IntelliJ에서 Compose 실행이 불가능한 상태가 됐다

👉 IntelliJ는 docker compose만 아는데, 내 환경은 docker-compose만 된다 라는 충돌 발생

2. 시도한 방법들

처음에는 래퍼 스크립트를 만들어서 docker compose → docker-compose로 강제 변환하려 했다.

#!/bin/bash
if [[ "$1" == "compose" ]]; then
  shift   # "compose" 를 빼고
  exec docker-compose "$@"
else
  exec /opt/homebrew/bin/docker "$@"
fi

 

하지만 IntelliJ가 /opt/homebrew/bin/docker를 직접 실행하고 있어서 이 방식은 실패했다.
(docker compose compose ... 같은 꼴로 호출되면서 에러 발생)

3. 해결 방법

(1) Colima 환경에 Docker Compose v2 활성화

다행히 Docker CLI는 플러그인 구조라서, ~/.docker/cli-plugins/ 디렉토리에 docker-compose를 링크해주면 된다.

mkdir -p ~/.docker/cli-plugins
ln -sfn $(which docker-compose) ~/.docker/cli-plugins/docker-compose
 
이제 확인해보면:
docker compose version

 

정상적으로 버전 정보가 출력된다.

즉, docker-compose (하이픈 버전)만 있던 환경에서도 docker compose 명령어가 동작하게 된 것!

(2) IntelliJ에서 정상 동작 확인

이제 IntelliJ 설정으로 들어가서 다시 실행해보자.

  • IntelliJ → Settings → Build, Execution, Deployment → Docker-Compose
  • 프로젝트의 docker-compose.yml 실행
  • 에러 없이 정상적으로 컨테이너가 뜬다 🚀

4. 배운 점

이번 문제를 해결하면서 자연스럽게 Docker Compose V1 vs V2 차이도 알게 되었다.

🔹 Docker Compose V1

  • docker-compose (하이픈)라는 별도 바이너리
  • Python으로 작성되어 있었음
  • 설치도 따로 해야 했고, Docker CLI와는 별개로 동작

🔹 Docker Compose V2

  • docker compose (공백) 형태의 Docker CLI 플러그인
  • Go 언어로 다시 작성 → 속도와 안정성이 향상됨
  • Docker Desktop이나 최신 Docker 패키지 설치 시 기본 포함
  • V1 대비 장점:
    • 실행 속도 빠름
    • Docker CLI와 통합 (하나의 바이너리에서 관리)
    • 유지보수 및 기능 추가가 활발 (V1은 더 이상 업데이트 없음)

👉 결론적으로,

  • V1 (docker-compose): 구버전, Python 기반, 독립 실행형
  • V2 (docker compose): 최신 표준, Go 기반, Docker CLI와 통합

5. 마무리

이번 삽질(?) 덕분에 IntelliJ와 Colima 환경에서 Docker Compose를 안정적으로 실행할 수 있게 되었다.
비슷한 문제를 겪는 분들이라면, 꼭 cli-plugins 링크 방법을 써보시길 추천한다 🙌

 

해당 글은 ChatGPT를 활용하여 작성하였습니다. AI 특성상 잘못된 정보가 포함되어있을 수 있습니다.
728x90
반응형

'devops' 카테고리의 다른 글

[DevOps] 도커와 컨테이너 (Docker and Container)  (0) 2024.09.18
[DevOps] 가상머신 (Virtual Machine)  (0) 2024.06.07