GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Quelques commandes DOCKER

Voici quelques commandes Docker de base :
Voir également :https://github.com/wsargent/docker-cheat-sheet

Installation du dernier environnement Docker sous Linux :

curl -sSL https://get.docker.com/ | sh

Démarrer le terminal docker sous OSX

bash --login '/Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'

Information : Les noms de conteneurs sans '/' dans le nom font référence à des modèles de conteneurs publics de base
Les noms de conteneurs avec un '/' font référence à des conteneurs utilisateur au format :nom d'utilisateur/BasicContainer
Les noms de conteneurs avec un ':' font référence à une balise qui est normalement utilisée comme subversion des conteneurs de base/utilisateur

Rechercher des images dans le référentiel Internet Docker
docker search ubuntu

Téléchargez une image docker depuis Internet vers le référentiel local
docker pull ubuntu:14.04

Répertorier les images docker locales :
docker images

Exécutez une image créée par vous-même (myname/ubuntu:tmpl_1) en arrière-plan en donnant au conteneur le nom MyUbuntu
docker run -itd --name=MyUbuntu myname/ubuntu:tmpl_1

Attachez-vous à un conteneur pour y travailler (appuyez 2 x Entrée pour obtenir bash par la suite)
docker attach MyUbuntu

Pour sortir d'un conteneur sans qu'il soit automatiquement arrêté :
CTRL-P + CTRL-Q

Lorsqu'un ^D (ou une commande de sortie) est émis dans un bash de conteneur, le conteneur est alors arrêté. Pour le redémarrer, par exemple.
docker start MyUbuntu

Lister les conteneurs en cours d'exécution
docker ps
Liste de tous les conteneurs docker (en cours d'exécution et arrêtés)
docker ps -a
Remarques sur l'exécution des conteneurs :
docker run -t -i → peut être détaché avec ^P^Q et rattaché avec docker attach
docker run -i → ne peut pas être détaché avec ^P^Q ; perturbera l'exécution de stdin
docker run → ne peut pas être détaché avec ^P^Q ; peut client SIGKILL ; peut se rattacher avec docker attach

RÉSOLUTION DES PROBLÈMES :
1) Si vous obtenez ce message d'erreur après avoir exécuté une commande docker :
Error response from daemon: client is newer than server (client API version: x.xx, server API version: y.yy)
Exécutez simplement la commande suivante pour synchroniser leurs versions :
docker-machine upgrade

Création d'une nouvelle image Docker locale à partir d'une image tirée publique (Internet)
#### La méthode COMMIT ####
Exécutez le conteneur en fonction de cette image
docker run -t -i ubuntu:14.04 /bin/bash
Remarque :Rappelez-vous l'ID de conteneur qui se trouve dans l'invite bash (nécessaire pour en créer un nouveau basé sur celui-ci)
par exemple. root@ba7cbe2cd3ce :/# (ba7cbe2cd3ce étant l'ID du conteneur)
Installez les packages logiciels souhaités (apt-get update &&apt-get install…. )
ex. apt-get update &&apt-get -y upgrade; apt-get install mc ssh fail2ban nmap ngrep iftop iotop htop
Lorsque vous avez terminé, arrêtez le conteneur en vous déconnectant de bash avec
exit or ^D
Maintenant, enregistrez la nouvelle image localement :
docker commit -m "My special container template" -a "My Name" ba7cbe2cd3ce myname/ubuntu:v001
Cela enregistrera localement le conteneur modifié en tant que nouvelle image nommée :myname/ubuntu:v001
À vérifier :
docker images

#### La méthode 'Dockerfile'
Créez un répertoire dans lequel vous créez un fichier spécial appelé Dockerfile
où les instructions sur la façon de construire la nouvelle image seront écrites.
mkdir ubuntu_template_001
cd ubuntu_template_001
touch Dockerfile
mcedit Dockerfile

————– Contenu —————-
# This is a comment
FROM ubuntu:14.04
MAINTAINER My Name <mmyname @mydomain.com>
RUN apt-get update && apt-get install -y mc ssh fail2ban nmap ngrep iftop iotop htop
RUN apt-get -y install postfix

– Enregistrez le fichier puis exécutez la commande suivante pour créer l'image :
docker build -t myname/ubuntu_template_001 .
Remarque :Le '.' à la fin de la commande indique où se trouve le Dockerfile
Vous serez présenté avec toutes les sorties de l'installation et l'ID de l'image à la toute fin comme suit :
—> 8578743d7b30

– Nous examinons toutes les images créées :
docker images

Résultat :

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 8578743d7b30 3 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 20 minutes ago 318.6 MB

– Nous voyons que l'image avec l'ID 8578743d7b30 n'a pas de nom ni de balise.
Maintenant, nous lui donnons un nom :tag
docker tag 8578743d7b30 myname/ubuntu:v002

– Vérifiez à nouveau la liste des images :
docker images
Résultat :
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
myname/ubuntu v002 8578743d7b30 16 minutes ago 290 MB
myname/ubuntu v001 9bc5a639a1de 33 minutes ago 318.6 MB

– Nous pouvons maintenant exécuter un conteneur basé sur cette nouvelle image
docker run -it --name "Server2" myname/ubuntu:v002 bash -c 'service ssh start ; ifconfig eth0; bash'

Supprimer une image du dépôt local
docker rmi michel/ubuntu:v002

Suppression d'un conteneur du système docker local
docker rm ContainerName
ou
docker rm ContainerID
Pour exécuter un programme dans un conteneur en cours d'exécution mais non attaché :
docker exec -t -i ContainerName bash -c 'command'


Docker
  1. Une introduction à Docker

  2. Aide-mémoire de référence rapide des commandes Docker

  3. Comment exécuter MySQL dans un conteneur Docker

  4. Comment se connecter en SSH à un conteneur Docker

  5. Comment attribuer une adresse IP statique à un conteneur Docker

Comment exécuter PHPMyAdmin dans un conteneur Docker

Comment exécuter Grafana dans un conteneur Docker

Comment configurer un conteneur Apache Docker

Docker Exec :votre commande Goto pour exécuter des commandes dans Docker

21 commandes essentielles que tout utilisateur de Docker devrait connaître

Commandes Docker pour la gestion du cycle de vie des conteneurs (Guide définitif)