Utilisation du conteneur Docker



Client Docker

Le client Docker est très simple Nous pouvons saisir directement la commande docker pour afficher toutes les options de commande du client Docker.

php@php:~# docker

docker27.png

Vous pouvez utiliser la commande docker command --help pour mieux comprendre comment utiliser la commande Docker spécifiée.

Par exemple, nous souhaitons afficher l'utilisation spécifique de la commande docker stats :

php@php:~# docker stats --help

docker28.png


Exécuter un site Web application

Le conteneur que nous avons exécuté plus tôt n'a aucune utilité particulière.

Essayons ensuite de créer une application Web à l'aide de Docker.

Nous exécuterons une application Python Flask dans un conteneur Docker pour exécuter une application Web.

php@php:~# docker run -d -P training/webapp python app.py

docker29.png

Description du paramètre :

  • -d :Laissez le conteneur s'exécuter en arrière-plan.

  • -P :Mappez le port réseau utilisé à l'intérieur du conteneur à l'hôte que nous utilisons.


Afficher les conteneurs d'applications WEB

Utilisez Docker PS pour afficher nos conteneurs en cours d'exécution

php@php:~$ docker ps

docker30.png

Là Vous trouverez plus d'informations sur le port ici.

PORTS
0.0.0.0:32769->5000/tcp

Docker ouvre le port 5000 (port Python Flask par défaut) mappé au port hôte 32769.

À ce stade, nous pouvons accéder à l'application WEB via le navigateur

docker31.png

Nous pouvons également spécifier l'indicateur -p pour lier le port spécifié.

php@php:~$ docker run -d -p 5000:5000 training/webapp python app.py

docker psAfficher les conteneurs en cours d'exécution

docker32.png

Le port 5000 à l'intérieur du conteneur est mappé au port 5000 de notre hôte local.


Raccourci vers le port réseau

Vous pouvez afficher le mappage des ports du conteneur via la commande docker ps. Docker fournit également un autre raccourci : utilisez le port docker pour afficher le port spécifié. (ID ou nom) Un certain port du conteneur est mappé au numéro de port de l'hôte.

L'ID du conteneur d'application Web que nous avons créé ci-dessus est : 7a38a1ad55c6 et le nom est : déterminé_swanson

Je peux utiliser le port docker 7a38a1ad55c6 ou le port docker déterminé_swanson pour afficher le mappage du port du conteneur

php@php:~$ docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
php@php:~$ docker port determined_swanson
5000/tcp -> 0.0.0.0:5000

Afficher les journaux d'application WEB

journaux docker [ID ou nom] Vous pouvez afficher la sortie standard à l'intérieur du conteneur.

php@php:~$ docker logs -f 7a38a1ad55c6
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -
192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -

-f :laissez dokcer logs afficher la sortie standard à l'intérieur du conteneur, tout comme en utilisant tail -f.

D'en haut, nous pouvons voir que l'application utilise le port 5000 et pouvons afficher le journal d'accès de l'application.


Voir les processus du conteneur d'application WEB

Nous pouvons également utiliser Docker Top pour visualiser les processus en cours d'exécution à l'intérieur du conteneur

php@php:~$ docker top determined_swanson

docker33.png


Inspecter les applications WEB

Utilisez docker inspect pour afficher les informations sous-jacentes de Docker. Il renvoie un fichier JSON enregistrant les informations de configuration et d'état du conteneur Docker.

php@php:~$ docker inspect determined_swanson
[
    {
        "Id": "7a38a1ad55c6914b360b565819604733db751d86afd2575236a70a2519527361",
        "Created": "2016-05-09T16:20:45.427996598Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "running",
......

Arrêter le conteneur d'application WEB

php@php:~$ docker stop determined_swanson   
determined_swanson

Redémarrer le conteneur d'application WEB

On peut utiliser la commande docker start pour démarrer le conteneur arrêté.

php@php:~$ docker start determined_swanson
determined_swanson

docker ps -l pour afficher les conteneurs en cours d'exécution

docker34.png

Conteneurs en cours d'exécution, nous pouvons utiliser la commande docker restart pour redémarrer


Supprimer les conteneurs d'application WEB

Nous pouvons utiliser la commande docker rm pour supprimer les conteneurs inutiles

php@php:~$ docker rm determined_swanson  
determined_swanson

Lors de la suppression d'un conteneur, le conteneur doit être dans un état arrêté, sinon l'erreur suivante sera signalé

php@php:~$ docker rm determined_swanson
Error response from daemon: You cannot remove a running container 7a38a1ad55c6914b360b565819604733db751d86afd2575236a70a2519527361. Stop the container before attempting removal or use -f