GN⁺ 2024-01-15 | parent | ★ favorite | on: Show HN: #!/usr/bin/env docker run(gist.github.com/adtac)
Hacker News 의견
  • nix-shell shebang 사용 예시

    • nix-shell shebang을 사용하여, 필요한 모든 의존성을 포함한 실행 가능한 스크립트를 만드는 방법을 설명함.
    • 이미지를 50% 축소하는 파이썬 스크립트 예시 제공.
    • 스크립트에 실행 권한을 부여하면(chmod +x), 지정된 의존성을 가진 실행 파일이 됨.
  • /usr/bin/env-S / --split-string 옵션

    • GNU Coreutils 8.30부터 사용 가능한 -S 옵션에 대한 설명.
    • 이 옵션은 표준이 아닌 동작에 의존하며, 모든 텍스트를 실행 파일의 인수로 처리하는 OS에서만 작동함.
    • 대부분의 현대 GNU/Linux, BSDs, macOS에서는 이 비표준 동작이 작동함.
  • Docker와 아키텍처 호환성

    • Docker가 실제로는 리눅스 외의 다른 플랫폼에서는 리눅스 VM이 필요하다고 지적함.
    • 리눅스 컨테이너는 훌륭하지만, Docker를 진정한 크로스 플랫폼 솔루션으로 보기는 어려움.
  • 단일 파일 애플리케이션에 대한 의견

    • 단일 파일로 전체 애플리케이션을 포함하는 아이디어에 대한 찬사.
    • Docker의 복잡성에 대한 비판과, 보안이나 버전 관리를 위해 컨테이너를 사용하는 것에 대한 의문 제기.
    • WebAssembly(WASM)가 이러한 문제를 해결할 수 있는지에 대한 질문.
  • Docker 대안으로 Podman과 bubblewrap 언급

    • Docker 대신 Podman이나 bubblewrap을 사용하는 것이 더 나을 수 있음을 언급.
    • Podman은 특정 배포판에 좀 더 의존적이고, bubblewrap은 일부 배포판에서 보안 문제로 포함되지 않을 수 있음.
  • heredocs를 사용한 단일 파일 프로젝트

    • clever shebang 없이도 heredocs를 사용하여 어떤 언어나 인프라에 대한 단일 파일 프로젝트를 만들 수 있음.
    • bash 스크립트로 패키징된 동일한 앱의 예시를 제공.
  • "단일 파일"에 대한 집착에 대한 비판

    • 모든 것을 하나의 파일로 패키징하는 대신, 디렉토리를 사용하여 자체 포함된 애플리케이션을 만들 수 있음을 지적.
    • 단일 파일로 만드는 것이 반드시 더 나은 방법은 아님을 언급.
  • 자가 소비 스크립트 패턴

    • 스크립트 내부에 다른 인터프리터 스크립트를 포함하고, sed를 사용하여 태그 사이의 스크립트를 추출하는 방법을 설명.
    • 이러한 방법이 때때로 매우 유용할 수 있지만, 복잡해질 수 있음을 인정.
  • guix shell을 shebang 위치에서 사용하는 방법

    • Guix 매뉴얼에서 가져온 guix shell을 사용한 예시를 제공.
    • 보다 복잡한 환경을 지정하는 매니페스트 파일과 함께 작동함.
  • 자체 빌드 및 실행되는 Dockerfile

    • 2021년 11월에 작성된 자체 빌드 및 실행되는 Dockerfile에 대한 설명과 예시 코드 제공.