Détails
Comment pousser une image Docker vers un dépôt privé ?
J'ai une image docker étiquetée sous le nom de "me/my-image", et j'ai un repo privé sur le dockerhub nommé "me-private". Lorsque je pousse mon image me/my-image, je finis toujours par toucher le dépôt public.
Quelle est la syntaxe exacte pour pousser spécifiquement mon image vers mon repo privé ?
362
3
Vous devez d'abord marquer votre image correctement avec votre
registryhost
:Ensuite, faites un push docker en utilisant ce même tag.
Exemple :
Tout d'abord, allez sur votre compte Docker Hub et créez le dépôt. Voici une capture d'écran de mon compte Docker Hub : [!entrer la description de l'image ici][1]][1]
Sur l'image, vous pouvez voir que mon repo est "chuangg".
Maintenant, allez dans le repo et rendez-le privé en cliquant sur le nom de votre image. Donc, pour moi, j'ai cliqué sur "chuangg/gene_commited_image", puis je suis allé à Settings -> Make Private. Puis j'ai suivi les instructions à l'écran [!entrez la description de l'image ici][2]][2]
COMMENT TÉLÉCHARGER VOTRE IMAGE DOCKER SUR DOCKER HUB
Méthode #1= Pousser votre image par la ligne de commande (cli)
docker commit /
Par exemple=
docker login --username=chuangg --email=gc.genechaung@gmail.com
Oui, vous devez d'abord vous connecter. Déconnexion à l'aide de "docker logout"
docker push chuangg/gene_commited_image
Méthode #2= Pousser votre image en utilisant pom.xml et la ligne de commande.
Note, j'ai utilisé un profil Maven appelé "build-docker". Si vous ne voulez pas utiliser un profil, enlevez simplement les éléments
, , et build-docker
.Dans le pom.xml parent :
Commande du terminal Docker pour déployer l'image Docker (depuis le répertoire où se trouve votre pom.xml)=
mvn clean deploy -Pbuild-docker docker:push
Notez, la différence entre la méthode #2 et #3 est que la méthode #3 a un `` supplémentaire pour le déploiement.
Méthode n°3 = Utilisation de Maven pour le déploiement automatique sur le hub de Docker.
Ajoutez ces éléments à votre pom.xml parent :
Allez dans le répertoire C:\Users\Gene.docker\ et ajoutez ceci à votre fichier config.json : [ ![entrez la description de l'image ici][3]][3]
Maintenant, dans votre terminal de démarrage rapide de Docker, tapez
mvn clean install -Pbuild-docker
.Pour ceux d'entre vous qui n'utilisent pas les profils Maven, tapez simplement
mvn clean install
.Voici la capture d'écran du message de réussite : [!entrer la description de l'image ici][4]][4]
Voici mon pom.xml complet et une capture d'écran de ma structure de répertoire :
Voici mon répertoire Eclipse : [!entrer la description de l'image ici] [6]] [6]
Voici mon Dockerfile :
Erreur commune n°1 : [!entrer la description de l'image ici][5]][5]
Solution pour l'erreur #1= Ne pas synchroniser la `
avec la phase de déploiement de maven car alors maven essaie de déployer l'image 2x et met un timestamp sur le jar. C'est pourquoi j'ai utilisé
install`.[1] : https://i.stack.imgur.com/tLeZZ.png [2] : https://i.stack.imgur.com/DWVke.png [3] : https://i.stack.imgur.com/10Jur.png [4] : https://i.stack.imgur.com/Wc7Uq.png [5] : https://i.stack.imgur.com/uwQCQ.png [6] : https://i.stack.imgur.com/VGsVg.png
Il existe deux options :
Allez dans le hub, et créez d'abord le dépôt, et marquez-le comme privé. Ensuite, lorsque vous poussez vers ce dépôt, il sera privé. C'est l'approche la plus courante.
connectez-vous à votre compte docker hub, et allez dans vos [paramètres globaux][1]. Il y a un paramètre qui vous permet de définir la visibilité par défaut pour les dépôts que vous poussez. Par défaut, il est défini comme public, mais si vous le changez en privé, tous les dépôts que vous envoyez seront marqués comme privés par défaut. Il est important de noter que vous devrez avoir suffisamment de dépôts privés disponibles sur votre compte, sinon le dépôt sera verrouillé jusqu'à ce que vous mettiez votre plan à niveau.
[1] : https://registry.hub.docker.com/account/settings/global/