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 |
