Docker:Come creare immagini Apache Karaf per ARM e ARM64

Recentemente ho pubblicato l'articoloRaspberry Pi: Come eseguire un Docker Container Apache Karaf 4.2Focalizato sull'installazione di Docker su Raspberry Pi e su come eseguire un container Apache Karaf basato sull'immagine Dockeramusarra/karaf:4.2.9.
Nel corso di questo articolo vedremo come creare l'immagine Docker di Apache Karaf per architetture linux/arm e linux/arm64.Èpossibile applicare lo stesso metodo per la produzione d'immagini Docker multi architectura per qualunque tipo di applicatione.
모든 seguire con efficacia questo breve articolo, è consigliata la conoscenza base di Docker.

1.Il nostro amico:Buildx


Grazie alla partnership tra Docker e ARM(vediDocker announced a partnership with Arm)annunciata nel mese di aprile del 2019,oggi,siamo in grado di poter eseguire build d d'immagini multi architettura,compresa quella ARM.
Grazie aDocker Buildxpossiamo quindi creare Inmagini multi architettura sia per ARM sia per x86 Utilizando Docker Desktop.
Docker Buildxèun 플러그인 CLI(명령줄 인터페이스) che estende il comando Docker con il pieno supporto delle funzionalit á fornite dal 도구 패키지Moby BuildKit.Fornice la stessa esperienza utente del comando standard build ma con molte nuove funzionalitácome la creazione di istanze builder con ambito e la compileazione su piùnodi contemporamente.

그림 1 - 건축의 특수 기능 설명
Utilizzando questo 도구,sono riuscito a prepare l'immagine diApache Karafper linux/arm64e linux/arm/v7 che ho poi utilizzato sulRaspberry Pi 3 e 4.

2、ottenere Buildx


Docker Buildxèincluso in Docker 19.03 edèanche fornito in bundle con le seguenti versioni di Docker Desktop.Tieni는 Utilizare Docker Buildx에 따라 che devi abilitare l'opzione Funzionalit á sperimentali를 시연했다.
  • Docker Desktop Enterprise versione 2.1.0.
  • Docker Desktop Edge versione 2.0.4.0 o successiva.
  • Puoi anche scaricare il binario buildx piùrecente dal repositorybuildx di Docker.
    macOS versione 2.3.6.1의 Personalmente ho scaricato e installatoDocker Desktop Edge에 따릅니다.La figura a seguire mostra i dettagli della mia installazione di Docker Desktop Edge.

    그림 2-Dettagli sulla versione di Docker Desktop Edge
    Un volta installato e/o aggiornato Docker Desktop,avremo a nostra disposizione il tool di buildx,che ci Approvisirádi creare facilmente immagini Docker multi Architectura.

    3. 오세요. 아파치 카라프입니다.


    Il repository Docker Hub del progetto Apache Karaf mette a disposizione l'immagine per la sola architettura linux/amd64.Il mio obiettivo era invece,quello di ottenere un'IMAGINE per le due Architecture linux/arm e linux/arm e linux/arm e linux/arm e fatto che AVEVO la EMISTIVE á di eseguire un container Docker di Apache Karaf in ambiente Raspberry Pi,quest'ultimonta APPTO processori arm,sia 32위sia 64위.
    Quando Fattible,seguo generalmente l'Approvcio che si traduce in:scrivi il meno possibile,estendi sempre.
    Il progettoApache Karafprevede giáIl processo di build dell'immagine Docker ATRAVERSO uno script bash,non ho dovuto quindi fare altro che ESTENDER lo script ESISTENT in modo che PRENDESE in considerazione l uso di buildx per creare immagini multi architectura e modificare Il Dockerfile affinchéla direttivaFROMfacesse riferimento ad un'immagine multi architectura.
    Quali sono gli step necessari per ottenere un immagine Docker di Apache Karaf per le architecteture linux/arm e linux/arm64?
    La procedura è abbastanza semplice e consta dei seguenti 절차:
  • chebuildxsiacorrettamenteinstallato 검증;
  • creazione del builder via buildx;
  • 아파치카라프의 복제델리포지토리;
  • esecuzione dello 스크립트 구축.sh per il build dell'immagine Docker di Apache Karaf per ARM.Lo script esegue anche l'operazione di push su Docker Hub.
  • A seguire sono mostrati tutti i comandi necessari affinch é possiate ottenere l'immagine Docker di Apache Karaf versione 4.2.9 (영상 매개 변수 - release del comando build.sh) per ARM(linux/ARM/v7) e ARM64(linux/ARM64).Le piattaforme per cui eseguire la build è possibile specificalle attraverso il parametro – 다중 플랫폼 구축).
    # Check Docker Buildx (get version)$ docker buildx version# Create a builder for Apache Karaf$ docker buildx create --name karaf-builder \--platform linux/arm64,linux/arm/v7,linux/amd64 \--buildkitd-flags '--debug'# Clone the Apache Karaf Repository$ git clone --depth 1 https://github.com/apache/karaf.git$ cd karaf/assemblies/docker# Run build the Docker Image for ARM and push# the image amusarra/karaf:4.2.9-dev on Docker Hub# account amusarra.$ ./build.sh --from-release --karaf-version 4.2.9 \--image-name amusarra/karaf:4.2.9-dev \ --build-multi-platform linux/arm64,linux/arm/v7
    
    L'immagine a seguire mostra L'output del comando buildx per L'ispezione dell'immagine appena create e di cuièstato fatto il push su Docker Hub.Ho Evidentiziato il fatto che questa immagineèdisponible per le due piattaforme linux/arm/v7 e linux/arm64.

    그림 3 – 아파치카라프의 dell'immagine Docker di Apache Karaf 검사
    A seguireèpossibile vedere la sequenza di tutti i passi che sono stati eseguitiBuild and Push Docker Apache Karaf image for ARM/ARM64 Architecture,cosìcome indicato in Console 1.
    

    그림4-Immagine Docker di Apache Karaf 4.2.9 per ARM sul Docker Hub

    4. 결론


    Abbiamo visto come sia stato semplice creare l'immagine Docker di Apache Karaf per architetture linux/arm e linux/arm64 utilizzando il tool buildx di Docker e lo script di build Disponible direttamente sul repository GitHub del progetto Apache Karaf.
    questo articolo ho preso come sempio Apache Karaf, ovviamente,buildx,può essere utilizzato per creare immagini Docker multi architettura per qualunque applicatione voi vogliate에서.
    A seguire una serie di risorse Utiliti all'Approvondimento dell'argomento trattato.
  • Docker Buildx
  • Moby BuildKit

  • Docker buildx 저장소
  • Building Multi-Arch Images for Arm and x86 with Docker Desktop
  • L'articoloDocker: Come creare immagini Apache Karaf per ARM e ARM64sembra essere il primo suAntonio Musarra's Blog.

    좋은 웹페이지 즐겨찾기