[Docker] : comment créer une image à partir d’un conteneur et la pousser ?

Comme dirait l’autre ça va finir par rentrer, nom d’une pipe. Mais cela fait plusieurs fois que je fais cette manip et comme écrire un article m’aide à retenir les choses je vais vous faire partager une manip docker.

Le but aujourd’hui c’est de savoir comment créer une image à partir d’un conteneur existant que vous avez ajustez à votre guise. Dans mon cas c’est un conteneur qui permet d’avoir une debian stretch avec systemd, openssh, sudo et vim. La grosse subtilité c’est d’avoir systemd mais je ne vais pas vous détailler cela aujourd’hui.

docker-image-conteneur

La première chose à faire c’est de connaître l’id de son conteneur avec un bon docker ps :

└─ $ ▶ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bbb5c547002c debian-systemd "/lib/systemd/systemd" 31 minutes ago Up 31 minutes competent_vaughan

Ensuite il faut commiter tout ceci dans une nouvelle image avec un docker commit (à partir de l’ID de l’image) :

└─ $ ▶ docker commit -m "image stretch + systemd + openssh" bbb5c547002c priximmo/stretch-systemd-ssh

Sivous faite un docker image ls, vous pouvez déjà voir votre image sur votre pc en local.

Puis si vous le souhaitez vous pouvez pousser ceci sur dockerhub ou un autre repository.

docker login
docker push priximmo/stretch-systemd-ssh

Et voilà vous disposez de votre image en local et sur votre dépôt.

Retrouvez l’image en question sur docker hub.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s