Je suis très nouveau dans Docker et j'essaie d'importer mon AWS EC2 AMI dans une image Docker. L'image est une image linux m2.
J'ai également configuré un hub docker privé (artificiel) vers lequel j'ai l'intention de pousser l'image et de la rendre disponible pour la consommation. Quelles sont les étapes pour importer AMI dans une image Docker sans partir d'une image de base et la mettre à jour.
Des pointeurs vers toute explication fonctionneraient également.
Voici comment je l'ai fait.
/dev/sda1 = snap-eb79b0b1
: 15: vrai: gp2
Lancer l'instance avec Ubuntu 14.04 AMI public
Créez un volume à partir de l'instantané snap-eb79b0b1 (dans la même région que l'instance s'exécute).
Attachez le volume à l'instance en tant que /dev/sdf
monter le volume sur /mnt
mount /dev/xvdf /mnt
(ou)
mount /dev/xvdf1 /mnt
https://docs.docker.com/engine/installation/ubuntulinux/
tar -c -C /mnt/ . | docker import - appcimage-master-1454216413
docker run -t -i 6d6614111fcb03d5ca79541b8a23955202dfda74995d968b5ffb5d45c7e68da9 /bin/bash
Docker peut créer une image à partir d'un fichier tar en utilisant le docker import
commande. De la documentation :
Usage: docker import URL|- [REPOSITORY[:TAG]]
Create an empty filesystem image and import the contents of the tarball
(.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then optionally
tag it.
Vous devriez donc être en mesure de créer une archive tar à partir de votre image AMI, puis de la transmettre à docker.
Lors de la création du fichier tar cd
dans le répertoire et tar
l'arborescence à partir de là.
cd /media/my-external-drive
tar -czvf /tmp/drive-image.tgz
Et puis pour créer l'image ...
docker import /tmp/drive-image.tgz
Cela permet au conteneur dockerized
de créer les chemins d'accès corrects lorsque vous l'exécutez.