▲GN⁺ 2025-04-11 | parent | ★ favorite | on: dockerfmt - Dockerfile 포매터(github.com/reteps)Hacker News 의견 소스 코드를 보고 Dockerfile을 찾을 수 없어서 웃음이 나왔음. 기존 파일에 대해 Docker 컨테이너로 실행하는 것이 가장 쉬운 방법인데, 아쉽게도 할 수 없었음 플래그가 달리고 삭제된 댓글을 지지하고 싶지 않음. 그 댓글은 아마도 어조 때문에 삭제되었을 것 같지만, 이 제품에 QA가 들어가지 않았다는 것을 잘 보여줌 프로젝트의 루트에 포매터, 패키지 매니저, 린터, CI를 위한 50개의 점 파일이 없다면 진정한 소프트웨어 엔지니어가 아님 포매터 설정 파일은 누가 포맷하는지 궁금함 RUN 파서가 명령어에서 그룹화나 세미콜론을 지원하지 않는다는 것을 보고 놀랐음 나는 다음과 같은 방식으로 작성하는 것을 선호함 RUN set -e ;\ export DEBIAN_FRONTEND=noninteractive ;\ etc etc 그래서 이 도구는 나에게 맞지 않는 것 같음 RUN 파서가 명령어에서 그룹화나 세미콜론을 지원하지 않는다고 하지만, 예제에서는 &&를 지원하는 것을 보여줌. 왜 차이가 있는지 궁금함 나는 보통 다음과 같이 작성함 RUN foo && \ bar && \ : 이는 다음과 문법적으로 동일해 보임 RUN set -e && \ foo ; \ bar ; \ : 멀티 스테이지 Dockerfile에서 각 스테이지의 본문을 들여쓰고 싶음 FROM foo ... FROM bar ... 한눈에 무슨 일이 일어나는지 쉽게 볼 수 있음 멀티 스테이지 Dockerfile을 어떻게 처리하는지 궁금함. 나는 항상 FROM 다음의 단계를 들여써서 스테이지를 더 명확하게 만듦. 그렇게 하지 않는 것이 다른 언어에서 함수 본문을 들여쓰지 않는 것과 같다고 생각함 Docker 파일을 계층화할 수 있는 방법이 있는지 궁금함. Compose를 말하는 것이 아니라, 다른 Docker의 계층을 잘 결합하는 방법을 말함 dockerfmt에 대한 설정 파일이 있기를 바람. 시간이 지나면서 점점 더 많은 옵션이 추가될 것임. 결국 튜링 완전성에 도달할 것임 그러면 포매터를 위한 포매터가 필요할 것임 소프트웨어는 양파와 같다고 Shrek이 Donkey에게 말했음 나는 yaml LSP를 사용함. 아마도 schema.org의 Containerfile 형식을 조회하려고 할 것임. 최근 Github Actions yaml 파일 작업 중에 처음 알게 되었음. 꽤 유용함
Hacker News 의견
RUN set -e ;\ export DEBIAN_FRONTEND=noninteractive ;\ etc etc&&를 지원하는 것을 보여줌. 왜 차이가 있는지 궁금함RUN foo && \ bar && \ :RUN set -e && \ foo ; \ bar ; \ :FROM foo ... FROM bar ...