반응형
터미널에서 어느 순간 잘 동작하던 명령어가 갑자기 실행할 수 없다는 문제는 너무 흔히 접하게 되는 것 같다.
OS든 사용하고 있는 툴이 업데이트가 되었거나, 새로운 환경에서는 더더욱 그렇다.
사용하고 있는 툴들이 자동 업데이트 설정이 되어있는지 잘 확인해보자.
필자 같은 경우에는 docker-desktop 설정을 다음과 같이 해놓았다.
항상 최신 버전을 자동으로 체크하고, 백그라운드로 해당 툴을 자동 업데이트 시키도록 해두었다.
그러던 어느날 잘 동작하던 스크립트가 갑자기 실행할 수 없는 명령어라면서 종료되어지고 있었다.
zsh: command not found: docker-compose
바로 뇌정지가 한번 오긴 했지만, 차분하게 검색해보았다.
우선 아래의 링크에서 해결방법을 찾을 수 있었다.
https://docs.docker.com/compose/install/?utm_source=chatgpt.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' 카테고리의 다른 글
Docker Volume과 Docker 네트워크의 종류 (0) | 2024.11.23 |
---|---|
Docker Engine과 Docker Image의 개념 (0) | 2024.11.22 |
Docker의 개념 (2) | 2024.11.22 |