React

docker-compose.yaml: `version` is obsolete 이슈

teveloper 2024. 7. 1. 23:26
반응형

 

이슈 발생

사내 프로젝트에 docker-compose를 사용해 docker container환경을 구축하던 중 다음과 같은 경고 메세지가 발생했다. 

 

 

 

docker-compose의 버전관련 문제인듯 하여 찾아보니 깃허브 이슈에서 다음과 같은 코멘트를 확인할 수 있었다. 더이상 docker-compose.yaml  파일에서 버전을 지정하지 않는다는 것.

 

 

많은 개발자들이 동일한 이슈를 겪은것 같다

 

 

turborepo 공식 repository의 docker 파일을 참고하여 작성하였는데 2년전 코드라 호환성 이슈가 있었다. 공식 문서도 찾아보니 top-level에서 version을 지정하는 환경이 obsolete 됐다고 명시되어있다. 그나저나 deprecated는 많이 들어봤어도 obsolete는 처음보는것 같다 ?

 

 

 

이슈 해결

이슈 해결은 간단히 docker-copose.yaml 상단부분의 version을 삭제함으로써 해결할 수 있다.

 

 

 

deprecated와 obsolete의 차이

 

React를 개발하다보면 소스코드에서 심심찮게 보이는 가로줄과 depreacted warning.

이 기능은 더 이상 지원하지 않을 예정이지 사용하지 마세요' 라는 의미로 주로 사용되곤 한다. 그렇다면 obsolete는 무엇이고 deprecated와 차이점은 무엇일까 ?

 

deprecated

- 여전히 기능함 : Deprecated 항목은 여전히 작동하며 당분간 지원됩니다.

- 제거 예정: 향후 지원이 중단될 예정입니다.

obsolete

- 더 이상 지원되지 않음 : 기능이 더 이상 업데이트, 버그 수정, 지원을 제공하지 않습니다.

- 새로운 기술로 대체됨: 일반적으로 새로운 버전이나 완전히 새로운 기술로 대체됩니다.

 

프레임워크 혹은 라이브러리가 제공하는 기능이 더이상 지원을 하지 않거나 새로운 기능으로 마이그레이션이 이뤄진다면, deprecated -> obsolete 순으로 진행한다고 이해하면 좋을것 같다. deprecated는 개발하면서 종종 봤었는데 obsolete는 생소한 것 같아 한번 정리를 해보았다. 

 

 

 

반응형