해뜨기전에자자

alpine linux 란 본문

개발/linux & tools

alpine linux 란

조앙'ㅁ' 2020. 5. 11. 04:00
  • docker base image로 많이 사용됨

    • 왜?
      • 필요한 것들이 다 있는데 가벼워서
      • server, container 운영에 필요한 바이너리만을 추리고, 그 바이너리들을 한번 더 합치거나 줄여서 해서 만든 것.
  • musl libc + busybox

    • musl libc
      • 초경량. embedded linux를 위한 신뢰성 있는 C/POSIX library
      • POSIX는 Unix 계열 OS가 각자 벤더들의 편의에 의해 변종과 확장이 발생하면서 상호 프로그램 간 호환성 문제가 생기기 시작하자, Unix 계열 OS 끼리는 프로그램이 서로 호환되게 실행될 수 있도록 표준을 수립한 것
    • busybox
      • unix 계열 OS 내에서, 자원이 매우 적은 임베디드 운영 체제를 위해 서버 운영에 공통적으로 사용하는 패키지들만 모아 둔 것
        • 약 300개 정도의 개별 명령을 포함함
        • busy box command list
          • awk, cut, date, echo, ip, top, kill, tail, tar, tee etc.
        • 임베디드 리눅스의 swiss army knife로 불리기도 함
      • 실행 파일(executable)을 여러 파일이 아닌 하나의 파일로 묶어서 용량을 절감하는 극단적인 경량 효율을 제공함
  • alpine 3.3 이하는 k8s 상에서 DNS가 제대로 동작하지 않을 수 있다.
    https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues