Exploring Docker Manifests

As part of my recent project to build an ARM based Kubernetes cluster (more on that in a different post) I have run into quite a few cross platform compatibility issues trying to get containers working in my cluster.

After a little bit of digging, I found that support was added in version 2.2 of the Docker image specification for manifests, which all Docker images to built against different platforms, including arm and arm64.  To add to this, I just recently discovered that in newer versions of Docker, there is a manifest sub-command that you can enable as an experimental feature to allow you to interact with the image manifests.  The manifest command is great for exploring Docker images without having to pull and run and test them locally or fighting with curl to get this information about an image from a Docker registry.

Enable the manifest command in Docker

First, make sure to have a semi recent version of Docker installed, I’m using 18.03.1 in this post.

Edit your docker configuration file, usually located in ~/.docker/config.json.  The following example assumes you have authentication configured, but really the only additional configuration needed is the { “experimental”: “enabled” }.

{
  "experimental": "enabled",
    "auths": {
    "https://index.docker.io/v1/": {
      "auth": "XXX"
    }
  }
}

After adding the experimental configuration to the client you should be able to access the docker manifest commands.

docker manifest -h

To inspect a manifest just provide an image to examine.

docker manifest inspect traefik

This will spit out a bunch of information about the Docker image, including schema, platforms, digests, etc.  which can be useful for finding out which platforms different images support.

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 739,
         "digest": "sha256:36df85f84cb73e6eee07767eaad2b3b4ff3f0a9dcf5e9ca222f1f700cb4abc88",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 739,
         "digest": "sha256:f98492734ef1d8f78cbcf2037c8b75be77b014496c637e2395a2eacbe91e25bb",
         "platform": {
            "architecture": "arm",
            "os": "linux",
            "variant": "v6"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 739,
         "digest": "sha256:7221080406536c12abc08b7e38e4aebd811747696a10836feb4265d8b2830bc6",
         "platform": {
            "architecture": "arm64",
            "os": "linux",
            "variant": "v8"
         }
      }
   ]
}

As you can see above image (traefik) supports arm and arm64 architectures.  This is a really handy way for determining if an image works across different platforms without having to pull an image and trying to run a command against it to see if it works.  The manifest sub command has some other useful features that allow you to create, annotate and push cross platform images but I won’t go into details here.

Manifest tool

I’d also like to quickly mention the Docker manifest-tool.  This tool is more or less superseded by the built-in Docker manifest command but still works basically the same way, allowing users to inspect, annotate, and push manifests.  The manifest-tool has a few additional features and supports several registries other than Dockerhub, and even has a utility script to see if a given registry supports the Docker v2 API and 2.2 image spec.  It is definitely still a good tool to look at if you are interested in publishing multi platform Docker images.

Downloading the manifest tool is easy as it is distributed as a Go binary.

curl -OL https://github.com/estesp/manifest-tool/releases/download/latest/manifest-tool-linux-amd64
mv manifest-tool-linux-amd64 manifest-tool
chmod +x manifest-tool

One you have the manifest-tool set up you can start usuing it, similar to the manifest inspect command.

./manifest-tool inspect traefik

This will dump out information about the image manifest if it exists.

Name:   traefik (Type: application/vnd.docker.distribution.manifest.list.v2+json)
Digest: sha256:eabb39016917bd43e738fb8bada87be076d4553b5617037922b187c0a656f4a4
 * Contains 3 manifest references:
1    Mfst Type: application/vnd.docker.distribution.manifest.v2+json
1       Digest: sha256:e65103d16ded975f0193c2357ccf1de13ebb5946894d91cf1c76ea23033d0476
1  Mfst Length: 739
1     Platform:
1           -      OS: linux
1           - OS Vers:
1           - OS Feat: []
1           -    Arch: amd64
1           - Variant:
1           - Feature:
1     # Layers: 2
         layer 1: digest = sha256:03732cc4924a93fcbcbed879c4c63aad534a63a64e9919eceddf48d7602407b5
         layer 2: digest = sha256:6023e30b264079307436d6b5d179f0626dde61945e201ef70ab81993d5e7ee15

2    Mfst Type: application/vnd.docker.distribution.manifest.v2+json
2       Digest: sha256:6cb42aa3a9df510b013db2cfc667f100fa54e728c3f78205f7d9f2b1030e30b2
2  Mfst Length: 739
2     Platform:
2           -      OS: linux
2           - OS Vers:
2           - OS Feat: []
2           -    Arch: arm
2           - Variant: v6
2           - Feature:
2     # Layers: 2
         layer 1: digest = sha256:8996ab8c9ae2c6afe7d318a3784c7ba1b1b72d4ae14cf515d4c1490aae91cab0
         layer 2: digest = sha256:ee51eed0bc1f59a26e1d8065820c03f9d7b3239520690b71fea260dfd841fba1

3    Mfst Type: application/vnd.docker.distribution.manifest.v2+json
3       Digest: sha256:e12dd92e9ae06784bd17d81bd8b391ff671c8a4f58abc8f8f662060b39140743
3  Mfst Length: 739
3     Platform:
3           -      OS: linux
3           - OS Vers:
3           - OS Feat: []
3           -    Arch: arm64
3           - Variant: v8
3           - Feature:
3     # Layers: 2
         layer 1: digest = sha256:78fe135ba97a13abc86dbe373975f0d0712d8aa6e540e09824b715a55d7e2ed3
         layer 2: digest = sha256:4c380abe0eadf15052dc9ca02792f1d35e0bd8a2cb1689c7ed60234587e482f0

Likewise, you can annotate and push image manifests using the manifest-tool.  Below is an example command for pushing multiple image architectures.

./manifest-tool --docker-cfg '~/.docker' push from-args --platforms "linux/amd64,linux/arm64" --template jmreicha/example:test --target "jmreicha/example:test"

mquery

I’d also like to touch quickly on the mquery tool.  If you’re only interested in seeing if a Docker image uses manifest as well as high level multi-platform information you can run this tool as a container.

docker run --rm mplatform/mquery traefik

Here’s what the output might look like.  Super simple but useful for quickly getting platform information.

Image: traefik
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v6
   - linux/arm64/v8

This can be useful if you don’t need a solution that is quite as heavy as manifest-tool or enabling the built in Docker experimental support.

You will still need to figure out how to build the image for each architecture first before pushing, but having the ability to use one image for all architectures is a really nice feature.

There is work going on in the Docker and Kubernetes communities to start leveraging the features of the 2.2 spec to create multi platform images using a single name.  This will be a great boon for helping to bring ARM adoption to the forefront and will help make the container experience on ARM much better going forward.

Read More

Esplora Giocagile: Il Miglior Portale per Scommesse e Casino Online con Giocagile App e Bonus Esclusivi

In un mondo in continua evoluzione, le piattaforme di gioco d’azzardo online come Giocagile stanno acquisendo sempre più importanza. Con la Giocagile App, il Giocagile Scommesse, il Giocagile Casino e i generosi Giocagile Bonus, gli utenti hanno ora un modo innovativo e coinvolgente per divertirsi.

Cosa Offriamo

Giocagile è rinomato per la sua vasta gamma di giochi da casino, inclusi slot machine, blackjack, roulette e molto altro. Inoltre, con la nostra sezione scommesse sportive, gli appassionati possono puntare sui loro sport preferiti con ottimi margini di vittoria.

Giocagile Casino

L’Innovativa Giocagile App

Grazie alla Giocagile App, i giocatori possono testare la loro fortuna e abilità ovunque si trovino. La nostra app è facile da usare, efficiente e ottimizzata per offrirti la migliore esperienza di gioco possibile.

Generosi Giocagile Bonus

Non ci fermiamo solo ai giochi straordinari. Giocagile Bonus offre numerosi vantaggi ai nuovi utenti e a quelli esistenti, consentendo di aumentar le vostre possibilità di vincita.

Esperienze di Gioco Articolate

Le esperienze su Giocagile si arricchiscono ulteriormente grazie ai nostri strumenti multimediali. Guarda il video di presentazione del nostro casino live:

Per maggiori dettagli, visita https://giocagile.com/ e scopri tutte le possibilità di gioco d’azzardo a tua disposizione. Giocagile è sinonimo di qualità e divertimento nel mondo del gioco online.

Sicurezza e Supporto

Siamo orgogliosi di garantire un ambiente di gioco sicuro e protetto con un servizio clienti sempre disponibile per qualsiasi esigenza o domanda.

Unisciti a Giocagile oggi e inizia il tuo viaggio di gioco online con il massimo delle prestazioni e bonus incredibili. Perché aspettare? La fortuna ti aspetta su Giocagile!

Read More

Scopri il Nuovo Mondo di Divertimento con l’AndromedaBet: App, Scommesse, e Bingo

AndromedaBet Logo

Un’Introduzione ad AndromedaBet

AndromedaBet è un’app rivoluzionaria nel mondo delle scommesse online, offrendo agli utenti un’esperienza unica con scommesse sportive, bingo e molto altro. In questo articolo, esploreremo cosa rende AndromedaBet così speciale e come può trasformare il tuo modo di giocare.

L’App AndromedaBet

L’app AndromedaBet è stata progettata per offrire la massima comodità agli utenti. Con un’interfaccia user-friendly e funzionalità avanzate, l’app è perfetta per i giocatori che desiderano scommettere in movimento. Puoi trovare una vasta gamma di sport su cui scommettere, inclusi calcio, basket e tennis, con aggiornamenti in tempo reale per garantirti di non perdere mai un momento d’azione.

Caratteristiche Principali

  • Interfaccia intuitiva e facile da usare
  • Scommesse live per azione immediata
  • Offerte e promozioni esclusive

Scommesse su AndromedaBet

AndromedaBet scommesse offre una vasta gamma di opzioni per ogni tipo di scommettitore. Che tu sia un principiante o un giocatore esperto, le scommesse su AndromedaBet sono progettate per essere adattabili e inclusive. Puoi scommettere su eventi in tutto il mondo e provare l’emozione delle scommesse live!

Consigli per le Scommesse

  1. Conosci i tuoi limiti e scommetti responsabilmente
  2. Fai sempre ricerche sui team o atleti su cui stai scommettendo
  3. Approfitta delle analisi e dei consigli offerti sulla piattaforma

Bingo su AndromedaBet

L’AndromedaBet bingo porta l’esperienza classica del bingo al digitale, permettendoti di giocare ovunque ti trovi. Con sale bingo virtuali, puoi unirti a giocatori di tutto il mondo e partecipare a giochi entusiasmanti e pienamente interattivi.

Vantaggi del Bingo Digitale

I vantaggi di giocare a bingo su AndromedaBet includono l’accesso immediato a diversi giochi, premi esclusivi e la possibilità di fare nuove amicizie attraverso chat dal vivo!

Conclusione

Se stai cercando un modo nuovo ed eccitante di goderti scommesse e giochi online, AndromedaBet è la scelta perfetta. Con la sua app innovativa, le scommesse dinamiche e l’entusiasmante bingo, AndromedaBet è destinata a diventare la tua piattaforma di gioco preferita.

Read More

Découvrez l’Instant Casino : Application, Bonus et Connexion Rapide

L’Instant Casino a révolutionné la manière de jouer en ligne. Grâce à l’application Instant casino app, les utilisateurs peuvent accéder à des jeux de qualité en quelques clics seulement. Mais qu’est-ce qui rend cette plateforme si unique et pourquoi devriez-vous envisager de l’essayer ?

Navigation et Connexion Facile

L’un des principaux avantages de l’application Instant casino est sa facilité d’utilisation. La fonctionnalité Instant casino login permet aux joueurs de se connecter rapidement et sans encombre, que ce soit sur un ordinateur ou un appareil mobile. L’interface utilisateur est intuitive, rendant l’expérience de jeu agréable et fluide.

Trouvez Votre Bonus Instantané

Les Instant casino bonus sont une autre raison d’envisager cette plateforme. Les nouveaux utilisateurs peuvent bénéficier de généreux bonus de bienvenue, tandis que les joueurs fidèles profitent de promotions régulières qui augmentent considérablement leurs chances de gagner gros. Ces bonus peuvent inclure des tours gratuits, des crédits supplémentaires et bien plus encore.

Un Large Éventail de Jeux en Ligne

Avec un choix impressionnant de jeux, l’Instant casino online satisfait tous les goûts. Que vous soyez fan de machines à sous, de poker ou de blackjack, il y a toujours quelque chose de nouveau à découvrir. Chaque jeu est conçu avec des graphismes époustouflants et des fonctionnalités avancées, garantissant une immersion totale.

Expérience Multimédia

Publicité Instant Casino

Nous avons également incorporé une courte vidéo pour vous donner un aperçu visuel de l’expérience Instant Casino :

En somme, l’Instant Casino est une excellente option pour quiconque souhaite profiter d’un large éventail de jeux avec une accessibilité et des bonus optimaux. Que vous soyez un nouveau joueur ou un vétéran du casino en ligne, les possibilités sont infinies avec l’Instant Casino.

Read More

Scopri il mondo di Winspark: Login, Casino, Slot e Bonus

Benvenuti nel mondo di Winspark, una piattaforma online che offre agli appassionati di gioco d’azzardo un’esperienza unica e coinvolgente. Che tu sia un principiante o un esperto, Winspark Casino ha qualcosa per tutti. Esploriamo insieme come effettuare il winspark login, scoprire le offerte di winspark casino bonus e immergerci nei giochi di winspark slot.

Effettuare il Winspark Login

Il primo passo per accedere alle meraviglie del winspark casino online è effettuare il login. La procedura è semplice e intuitiva; basta visitare la pagina principale, inserire le proprie credenziali ed entrare nel mondo di Winspark. La sicurezza del tuo account è una priorità, quindi assicurati di utilizzare una password forte e di proteggere le tue informazioni personali.

Bonus e Offerte nel Winspark Casino

Uno degli aspetti più allettanti di Winspark è la varietà di bonus offerti ai nuovi giocatori e ai clienti abituali. Tra i più popolari c’è il Winspark casino bonus, che offre vantaggi incredibili. Non perdere l’opportunità di aumentare le tue possibilità di vincita approfittando di queste straordinarie promozioni.

I Giochi di Winspark Slot

La piattaforma è rinomata per la sua vasta gamma di slot che attirano giocatori di tutti i livelli. Con temi variopinti e dinamiche coinvolgenti, le winspark slot offrono ore di intrattenimento. Sia che tu preferisca il classico stile ‘frutta’ o i giochi più elaborati con favolosi jackpot, Winspark ha quello che fa per te.

L’App Winspark

Per chi desidera divertirsi anche in movimento, l’app Winspark è perfetta! Disponibile per diversi dispositivi, l’app offre un accesso pratico e veloce a tutte le funzionalità del casino. Con un’interfaccia user-friendly, l’app garantisce una fantastica esperienza di gioco ovunque ti trovi.

Conclusione

Winspark rappresenta una combinazione perfetta di intrattenimento e vincite. Non perdere tempo, registrati oggi stesso per scoprire tutte le opportunità straordinarie offerte. E per una panoramica visiva di tutto ciò che Winspark ha da offrire, dai un’occhiata al video qui sotto:

Inizia il tuo viaggio nel mondo di Winspark e scopri perché è una delle piattaforme di gioco più amate del momento!

Winspark image

Read More