>  기사  >  운영 및 유지보수  >  Docker 이미지가 크로스 플랫폼에서 실행될 수 있나요?

Docker 이미지가 크로스 플랫폼에서 실행될 수 있나요?

WBOY
WBOY원래의
2022-03-08 14:58:236393검색

Docker 이미지는 시스템 아키텍처가 동일한 한 여러 플랫폼에서 실행될 수 있으며 x86 이미지는 x86 시스템에서만 사용할 수 있고 arm 이미지는 arm 시스템에서만 사용할 수 있습니다. 컨테이너에 대한 시뮬레이션일 뿐이며 호스트 시스템과 거의 관련이 없는 환경을 만듭니다.

Docker 이미지가 크로스 플랫폼에서 실행될 수 있나요?

이 튜토리얼의 운영 환경: linux7.3 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.

Docker 이미지는 크로스 플랫폼에서 실행될 수 있나요?

Docker 이미지는 운영 체제와 관련이 없습니다. Docker의 가장 큰 가치는 이미지 패키징 기술입니다. 먼저 도커가 무엇인지, 이미지가 무엇인지, 컨테이너가 무엇인지 이해한 다음, 이미지와 운영체제의 관계를 이해할 수 있다. 도커(Docker)는 커널을 기반으로 한 엔진이자 기술이다. 예를 들어 Linux 커널을 사용하는 경우 Linux 커널인지 여부는 중요하지 않으며 Ubuntu인지 CentOS인지는 중요하지 않습니다. 따라서 docker는 운영 체제로부터의 분리도 달성합니다. 이미지는 서비스의 실행 환경을 tomcat과 같은 패키지로 패키징한 것입니다. 이미지에는 운영체제의 커널 외에 tomcat의 바이너리 패키지가 추가되어 있습니다. 그런 다음 Docker 엔진을 통해 Tomcat 이미지를 빌드합니다. 예를 들어 컨테이너의 경우 Tomcat 서비스를 생성하려는 경우 이전 방법은 tar 또는 rpm을 통해 서버에 Tomcat을 설치한 다음 여러 시스템을 설치하려면 Tomcat을 시작하는 것이었고 수동으로 배포해야 합니다. 여러 번. 이제 Tomcat 이미지가 있으므로 이미지를 직접 사용하여 여러 Tomcat을 만들 수 있으며(Tomcat 이미지는 여러 Tomcat 컨테이너, 즉 Tomcat 서비스를 만들 수 있다는 관계입니다) 컨테이너는 Tomcat 프로세스로 간주될 수 있습니다.

프로그램을 실행하려면 운영 체제의 지원이 필요하며 자체 개인 데이터 및 소프트웨어에 액세스해야 합니다. Docker는 파일 및 운영 체제 API에 대한 모든 액세스를 리디렉션하여 애플리케이션이 독립적인 운영 체제에서 실행되는 것처럼 느끼게 만듭니다. Docker는 API 호출을 가로채서 프로그램이 실제로 작동하지 않도록 랩핑됩니다. 액세스하세요. 도커 프로그램은 컨테이너 패키지의 API에 접근하기 때문에 이론적으로 이들 컨테이너의 API가 다른 운영 체제에 구현되어 있는 한 프로그램 이식이 가능하다. 다른 시스템.

다양한 플랫폼에서의 Docker 작동 메커니즘

LINUX: Docker는 가상화 없이 Linux에서 커널을 공유하고 기본 기능을 완벽하게 지원합니다. 따라서 Linux 클래스 docker만 생성할 수 있습니다.

Windows: Docker는 Windows에서 실행되어 Hyper-V 또는 가상화 기술을 지원합니다(Windows 커널을 공유하지 않고 가상 머신을 통해 구현됨). Linux 계열의 docker, Windows 계열의 docker를 생성할 수 있습니다.

Mac: Mac OS의 Docker도 가상화 기술 xhyve 또는 virtualbox를 사용하여 구현되며 Mac OS 커널을 공유하지 않습니다. Linux 계열의 docker만 생성이 가능하고, Mac OSX에서는 docker를 생성할 수 없습니다.

시스템 아키텍처가 동일한 한 동일한 이미지를 사용할 수 있습니다. 예를 들어 x86 이미지는 x86 시스템에서만 사용할 수 있고 arm 이미지는 arm 시스템에서만 사용할 수 있습니다. Docker 이미지는 컨테이너 환경만 시뮬레이션하며 호스트와는 거의 관련이 없습니다. 권장 학습: "

docker 비디오 튜토리얼

"

위 내용은 Docker 이미지가 크로스 플랫폼에서 실행될 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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