docker-compose 어느 순간부터 명령어가 안먹는다면?
🌈 프로그래밍/Docker

docker-compose 어느 순간부터 명령어가 안먹는다면?

반응형

 

터미널에서 어느 순간 잘 동작하던 명령어가 갑자기 실행할 수 없다는 문제는 너무 흔히 접하게 되는 것 같다.

OS든 사용하고 있는 툴이 업데이트가 되었거나, 새로운 환경에서는 더더욱 그렇다.

사용하고 있는 툴들이 자동 업데이트 설정이 되어있는지 잘 확인해보자.

필자 같은 경우에는 docker-desktop 설정을 다음과 같이 해놓았다.

docker-desktop software updates

항상 최신 버전을 자동으로 체크하고, 백그라운드로 해당 툴을 자동 업데이트 시키도록 해두었다.

그러던 어느날 잘 동작하던 스크립트가 갑자기 실행할 수 없는 명령어라면서 종료되어지고 있었다.

zsh: command not found: docker-compose

 

 

바로 뇌정지가 한번 오긴 했지만, 차분하게 검색해보았다.

우선 아래의 링크에서 해결방법을 찾을 수 있었다.

https://docs.docker.com/compose/install/?utm_source=chatgpt.com

 

Install

Learn how to install Docker Compose. Compose is available natively on Docker Desktop, as a Docker Engine plugin, and as a standalone tool.

docs.docker.com

도커 공식 문서의 도커 컴포즈를 설치하는 부분인데 요약하면 다음과 같다.

최근 Docker Desktop 4.23.0 버전부터 Docker Compose V1이 제거되었고, 이에 따라 docker-compose 명령어는 Docker Compose V2 바이너리를 직접 가리키도록 변경되었습니다. 이러한 변경으로 인해 Mac 사용자는 자동 업데이트 시 관리자 권한이 필요하지 않아 심볼릭 링크가 손상되거나 명령어를 사용할 수 없는 문제가 발생할 수 있습니다.


문제 원인:
Docker Desktop의 자동 업데이트 과정에서 관리자 권한이 요구되지 않으므로, /usr/local/bin/docker-compose에 대한 심볼릭 링크가 올바르게 생성되지 않을 수 있습니다. 이로 인해 docker-compose 명령어를 실행할 때 오류가 발생하거나 명령어를 인식하지 못하는 문제가 생깁니다.


해결 방법:
이 문제를 해결하려면 다음과 같이 심볼릭 링크를 수동으로 재생성해야 합니다:
sudo rm /usr/local/bin/docker-compose
sudo ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose /usr/local/bin/docker-compose​

위 명령어를 통해 기존의 잘못된 심볼릭 링크를 제거하고, 올바른 경로로 새로운 심볼릭 링크를 생성할 수 있습니다. 또한, Docker Desktop 설정에서 ‘자동으로 구성 확인’ 옵션을 활성화하면 이러한 문제를 자동으로 감지하고 수정할 수 있습니다.


추가 참고 사항:
Docker Compose V1은 2023년 6월 이후로 지원이 종료되었으며, Docker Compose V2로의 전환이 권장됩니다. 따라서 기존의 docker-compose 명령어를 사용하는 스크립트나 워크플로우가 있다면, 이를 docker compose로 업데이트하는 것이 좋습니다.

 

즉, 새로운 버전으로 업데이트 되어지면서 정상적으로 동작하지 않던 문제였다.

공식 문서는 정말이지 잘 안보려고 해도 꼭 보려고 노력해야하는 것 같다.

 

참고 자료:

https://www.docker.com/blog/new-docker-compose-v2-and-v1-deprecation

 

Docker Compose: What’s New, What’s Changing, What’s Next | Docker

Docker Compose V1 will be deprecated after June, 2023. Here’s what you need to know to transition to Compose V2!

www.docker.com

 

반응형

'🌈 프로그래밍 > Docker' 카테고리의 다른 글

Docker Volume과 Docker 네트워크의 종류  (0) 2024.11.23
Docker Engine과 Docker Image의 개념  (0) 2024.11.22
Docker의 개념  (2) 2024.11.22