>백엔드 개발 >Golang >docker가 golang으로 개발되는 이유

docker가 golang으로 개발되는 이유

(*-*)浩
(*-*)浩원래의
2019-12-02 15:41:062572검색

docker가 golang으로 개발되는 이유

Docker가 개발에 Golang을 사용하기로 선택한 이유는 무엇인가요?

우선, 현재 주류 서비스는 모두 Unix/Linux 운영 체제를 사용하고 있으며 앞서 설명한 것처럼 Golang은 제3자에 의존합니다. glibc에 의존함) 이는 한계이자 장점입니다. (추천 학습: go)

이렇게 하면 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는 GNU에서 출시한 libc 라이브러리로 C 런타임 라이브러리입니다. Glibc는 Linux 시스템에서 가장 낮은 수준의 API이며 실행 중인 거의 모든 라이브러리는 glibc에 의존합니다. 이는 또한 Docker가 실제로 Unix/Linux 시스템에서 Golang 없이 실행될 수 있음을 의미합니다.

위 내용은 docker가 golang으로 개발되는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Go 언어 기능 소개다음 기사:Go 언어 기능 소개