Je souhaite migrer une image Docker créée sur un serveur vers un autre. L'image Docker à migrer utilise celle créée dans Article before last. Le système d'exploitation des serveurs source et de destination de la migration est Amazon Linux 2.
Vérifiez l'image Docker. Migrez l'image nommée "ansible-demo".
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ansible-demo latest 590a85caf1ec 5 days ago 553MB
Exportez ensuite l'image dans un fichier tar.
$ docker save ansible-demo > ansible-demo.tar
$ ls
ansible-demo.tar
Si vous avez spécifié la version etc. dans Tag, vous pouvez exécuter comme suit Vous pouvez enregistrer l'image avec le nom de balise spécifié et le nom de balise sera hérité.
$ docker save ansible-demo:3.9.0-slim-buster > ansible-demo.tar
Utilisez la commande scp pour copier le fichier tar sur le serveur de destination.
$ sudo scp -i .ssh/Fichier de clé privée ansible-demo.tar [email protected]:/home/ec2-user
ansible-demo.tar 100% 568MB 64.2MB/s 00:08
Chargez l'image Docker sur le serveur de destination.
$ sudo docker load < ansible-demo.tar
d0fe87fa8b8c: Loading layer [==================================================>] 72.49MB/72.49MB
225ef83ca30a: Loading layer [==================================================>] 7.316MB/7.316MB
83dcc4a0d3e6: Loading layer [==================================================>] 31.29MB/31.29MB
d93c07014f51: Loading layer [==================================================>] 4.608kB/4.608kB
b36284d246c4: Loading layer [==================================================>] 8.972MB/8.972MB
21aeb0eb9f43: Loading layer [==================================================>] 3.072kB/3.072kB
7f1f16e48b7f: Loading layer [==================================================>] 390.2MB/390.2MB
0ba8cec4031f: Loading layer [==================================================>] 85.38MB/85.38MB
Loaded image: ansible-demo:latest
Vous pouvez voir que le fichier image est chargé comme indiqué ci-dessous.
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ansible-demo latest 590a85caf1ec 6 days ago 553MB
Maintenant, commençons le conteneur Docker. Puisque WORKDIR est spécifié dans le Dockerfile, exécutez-le à partir de la création du répertoire. Le même conteneur que la source de migration a été démarré!
$ sudo mkdir /usr/src/app
$ cd /usr/src/app
$ sudo docker run -it --rm -v $(pwd):/usr/src/app ansible-demo /bin/bash
root@ff8c4ae0d144:/usr/src/app#
Recommended Posts