우선, 현재 주류 서비스는 모두 Unix/Linux 운영 체제를 사용하며 Golang은 제3자에 거의 의존하지 않는다는 점이 한계이자 장점입니다. 이 경우 Golang을 사용하여 개발된 Docker는 기본적으로 Unix/Linux 운영 체제가 설치된 대부분의 서버에서 완벽하게 실행될 수 있습니다.
Docker에서 Golang을 설치할 필요가 없는 이유는 무엇인가요?
Docker에서 Golang을 설치할 필요가 없는 이유는 제가 Java 백엔드 개발자이고 Ubuntu에서 Python으로 개발된 일부 오픈 소스 도구를 사용하기 때문이며 Java 및 Python 오픈 소스 도구 모두 해당 운영 환경을 설치해야 하기 때문입니다. :
Java에는 최소한 JRE가 설치되어 있어야 하며 때로는 편의를 위해 JDK도 설치되어 있어야 합니다.
Python에서는 최소한 Python 개발 환경을 설치해야 하는 경우도 있습니다. 때로는 오픈 소스 도구를 사용하여 다른 Python 타사 패키지도 설치해야 합니다
Java를 예로 들면, Java 소스 프로그램은 컴파일러가 이를 바이트코드로 컴파일하고, 이를 가상 머신이 해석하고 실행합니다. 가상 머신은 실행될 각 바이트코드를 인터프리터에게 보내고, 인터프리터는 이를 머신 코드로 변환합니다. 특정 머신에서 실행한 다음 특정 머신에서 실행합니다. 컴파일러와 인터프리터는 모두 실제로 JVM의 일부입니다. Java의 플랫폼 독립성은 실제로 JVM에 의해 달성되며 Java 프로그램도 JVM에서 실행되어야 합니다.
그러나 Golang 컴파일은 glibc를 제외하고 다른 외부 종속성이 없는 정적 실행 파일을 생성합니다.
그럼 glibc란 정확히 무엇인가요?
사실 glibc는 C 런타임 라이브러리인 GNU에서 출시한 libc 라이브러리입니다. Glibc는 Linux 시스템에서 가장 낮은 수준의 API이며 실행 중인 거의 모든 라이브러리는 glibc에 의존합니다. 이는 또한 Docker가 실제로 Unix/Linux 시스템에서 Golang 없이 실행될 수 있음을 의미합니다.
Docker가 개발에 Golang을 사용하는 이유는 무엇인가요?
우선, 현재 주류 서비스는 모두 Unix/Linux 운영 체제를 사용하며 앞서 설명했듯이 Golang은 제3자에 대한 의존도가 거의 없다는 점(glibc만 해당)이 한계이자 장점입니다. 왜냐하면 이 경우 Golang을 사용하여 개발된 Docker는 기본적으로 Unix/Linux 운영 체제가 설치된 대부분의 서버에서 완벽하게 실행될 수 있기 때문입니다.
추천 튜토리얼: "docker tutorial", "PHP tutorial"
위 내용은 Docker가 Go 언어로 작성된 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!