Migrer l'image Docker vers un autre serveur

Ce que vous voulez réaliser

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.

Enregistrer l'image Docker

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

Copiez le fichier tar sur le serveur de destination

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

Chargement de l'image Docker

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

Contrôle de fonctionnement

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

Migrer l'image Docker vers un autre serveur
Serveur proxy par squid en utilisant l'image docker
[AWS CLI] Changer de rôle pour obtenir une image Docker dans un autre compte
J'ai essayé de vérifier AdoptOpenJDK 11 (11.0.2) avec l'image Docker
Comment réduire l'image de Spring Boot Docker
Migrer de Java vers Kotlin côté serveur + Spring-boot
Comment donner votre image à quelqu'un avec Docker
Poussez l'image vers le hub docker à l'aide de Jib
Étapes pour pousser une image Docker vers GitHub Container Registry (ghcr.io)
Migrer de JUnit 4 vers JUnit 5
Comment déployer à partir d'une image Docker locale vers Heroku
Comment installer Docker
Supprimer l'image Docker inutilisée
Introduisez RMagick pour convertir les fichiers image existants dans un autre format
Je ne trouve pas l'image du docker après la mise à jour vers Docker Desktop 2.4.0.0
La clé pour exécuter Docker sur Raspberry Pi 4 (serveur Ubuntu 20.04)
[Notes personnelles] Comment pousser une image Docker vers des packages GitHub
Installez Docker sur Ubuntu Server 20.04
Installer du fil dans l'image du docker
Extraire des fichiers de Docker Image
Comment définir nginx de Docker
Comment terminer le serveur de rails
J'ai essayé de créer un environnement de serveur UML Plant avec Docker
Flux de travail minimal pour pousser l'image Docker vers Github Container Registry avec des actions Github
Utilisez Jenkins pour créer dans Docker, puis créez une image Docker.
[GCP] Jusqu'à ce que vous transmettiez l'image Docker locale à Container Registry