Tant que huit étapes, apprendre cette commande Docker ultime Tutoriel

Auteur | Timothy Mugayi

Traducteur | ménisque Zebian | Xu Veyron

Photo de couverture | RPSC télécharger la Chine visuelle

récipient Docker est devenu une nécessité de déployer des technologies environnementales d'un changement cerise sur le gâteau. Parfois, en tant que développeurs, nous avons besoin de passer beaucoup de temps de débogage Docker ou des outils de recherche pour nous aider à améliorer la productivité. Chaque nouvelle vague technologique qui approche, nous avons tous besoin de passer beaucoup de temps à apprendre.

Prendre 1-2 jours pour régler groupe Docker, ou savoir ce qui a causé le navire n'a pas pu démarrer le code Docker, vous aviez aussi une expérience similaire? Pour la plupart des développeurs, nous passons de temps à configurer et trouver le bug dans l'étude semblait avoir plus que le lancement effectif des nouvelles fonctionnalités du temps, surtout lorsque vous utilisez l'environnement est encore relativement nouveau ou pas encore mûrs.

Certains d'entre nous ne sont pas aussi chanceux, vous ne pouvez pas créer un environnement stable grâce à l'amélioration des processus CI / CD. Pour cette raison, je suis la collecte et le tri du travail quotidien Docker Les commandes les plus fréquemment utilisées tutoriels à partir du grand courant Docker documentation technique site Web.

Pour obtenir une liste plus exhaustive des drapeaux en option et les paramètres, s'il vous plaît se référer au manuel https://docs.docker.com/engine/reference/commandline/cli/ Docker

Astuce: Docker Chaque commande a intégré dans la documentation, comme l'exécution de type docker --help vous pouvez obtenir de l'aide. Type de course docker --help va générer le document d'aide suivante.

J'espère que cet article peut vous aider à vous débarrasser de la mise en service et l'utilisation de la difficulté à Docker. Lors de la lecture de chaque commande, s'il vous plaît noter la description pertinente de la commande.

bâtiment Docker

$ Build Docker \

--build-arg ARTIFACTORY_USERNAME = timothy.mugayi \

--build-arg ARTIFACTORY_SECRET_TOKEN = AP284233QnYX9Ckrdr7pUEY1F \

--build-arg LICENSE_URL = 'https: //source.com/license.txt' \

--no-cache -t helloworld: dernier.

Vous pouvez construire l'image Docker en utilisant les paramètres de construction en option. Par défaut, le cache d'abord construire Dockerfile Docker ou construire la nouvelle couche est ajoutée à l'image conformément Dockerfile commande d'exécution, destiné à faciliter la builds ultérieure.

Si vous n'avez pas besoin de mise en cache, vous ne pouvez pas ajouter des paramètres de cache comme l'exemple ci-dessus.

Remarque: commande Docker peut être exécutée par nom ou ID conteneur Docker. La commande suivante < CONTAINER > Navire ou d'un conteneur peut être remplacé par l'ID de nom.

Exécuter des conteneurs Docker

début $ Docker < CONTAINER >

Démarrer un conteneur existant. Nous partons du principe que le navire a été téléchargé et créé.

arrêt $ Docker < CONTAINER >

Docker récipient interrompue.

$ Docker arrêt $ (-aq ls conteneur docker)

Si vous avez plusieurs cours d'exécution contenant Docker, et vous voulez arrêter tous les conteneurs, vous pouvez entrer une liste de docker stop et tout l'ID du conteneur.

$ Docker exec -ti < CONTAINER >   

Exécuter une commande d'enveloppe dans un récipient particulier.

$ Docker courir -ti - l'image < IMAGE >   < CONTAINER >  

course Docker avec le début il y avait une nette différence. En gros, Docker courir à faire deux choses: (1) créer un nouveau conteneur d'un miroir, (2) la mise en uvre de ce navire. Si vous souhaitez réexécuter échoué ou arrêter de fumer des conteneurs, utilisez docker commande de démarrage.

$ Docker exécuter -ti - rm - l'image < IMAGE >   < CONTAINER >   

Ceci est une commande très intéressante est conçu pour créer simultanément et conteneur de lancement. Il serait également exécuter la commande dans le conteneur, puis retirez le récipient après la commande est terminée.

docker run -d < IMAGE > : < image_tag > utilisation: docker exécuter -d helloworld: dernier

Si vous voulez commencer docker ordre de marche dans l'état déconnecté (par exemple, en tant que démon Linux), vous pouvez enfin ajouter la commande -d dans la course.

pause $ Docker < CONTAINER >

Pour suspendre tous les processus en cours d'exécution dans un conteneur particulier.

$ Docker ps -a

La commande ci-dessus la liste de tous Docker exécuté avant mode miroir. Dans l'image que vous voulez savoir après la course, vous pouvez exécuter la commande suivante. Assurez-vous de changer l'ID du conteneur, pour tenir compte des résultats des docker initiaux ps affiche commande -a.

run sudo docker {ID conteneur} -e AWS_DEFAULT_REGION = us-est-1 \

e INPUT_QUEUE_URL = "https://sqs.us-east-1.amazonaws.com/my_input_sqs_queue.fifo" \

e REDIS_ENDPOINT = "redis.dfasdf.0001.cache.amazonaws.com:8000" \

e ENV = dev \

e DJANGO_SETTINGS_MODULE = engine.settings \

e REDIS_HOST = "cmgadsfv7avlq.us-east-1.redis.amazonaws.com" \

e REDIS_PORT = 5439 \

e REDIS_USER = bonjour \

e REDIS_PASSWORD = trasdf ** # 0ynpXkzg

Les spectacles de commande ci-dessus comment exécuter avec plusieurs paramètres passés en tant que variables environnementales miroir Docker, \ représentent un caractère de nouvelle ligne.

Mise au point conteneur Docker

Vous pouvez utiliser docker obtenir ps le nom du conteneur en cours d'exécution.

histoire $ Docker < IMAGE >

Exemple d'utilisation:

histoire $ Docker my_image_name

La commande ci-dessus peut afficher l'historique d'une image particulière. Lorsque vous voulez apprendre miroir Docker, cette information est très utile. Discutons en profondeur, parce que vous êtes très important de comprendre la fonction de cette commande, et très peu de documents relatifs à la commande.

Quand on parle de Docker, la mise en miroir est construit sur plusieurs couches, les couches sont à la base d'image Docker. Chaque conteneur comprend une lecture / écriture couche d'image (vous pouvez - être considéré comme un état ou le fichier persistant). Ceci est au-dessus de l'autre couche de lecture seule. Les couches (également appelé une image intermédiaire) au moment de l'exécution de la commande de génération miroir Docker, Dockerfile générés lorsque l'exécution de la commande.

Si votre Dockerfile contient, exécutez et / ou copier les instructions, puis appuyer sur ce miroir, exécutez la commande va créer un avec votre propre ID d'image. Ensuite, l'image / couche apparaît dans l'histoire de docker, mais affiche également l'image ID et la date de création. instruction ultérieure générera une autre entrée, et ainsi de suite. CREE PAR colonne Dockerfile correspond généralement à une rangée. Comme le montre la figure.

commande « histoire Docker » icône

images $ Docker

Liste de toutes les images actuellement stockées dans la machine.

$ Docker inspecter < IMAGE | ID CONTAINER >

Docker inspecter affiche des informations de bas niveau sur un objet Docker spécifique. Dans le cas de débogage, les données stockées dans l'objet peuvent être utiles, par exemple, le recoupement point de montage Docker.

Note: Cette commande prend deux réponses principales: Plus d'informations Pour plus d'informations et les niveaux de mise en miroir au niveau des conteneurs. Vous pouvez obtenir les informations suivantes de la commande:

  • ID conteneur et horodatage créé

  • L'état actuel (si le navire a cessé d'essayer d'identifier utile et pourquoi arrêt)

  • Docker informations d'image, un document système de fixation, et des informations de volume pour monter

  • Commande des variables d'environnement, telles que les arguments de ligne transmis au conteneur

  • Configuration réseau: IPv4 et l'adresse IP et la passerelle et support adresses IPv6

$ version Docker

Cette commande affiche la version du Docker, y compris actuellement installés sur l'ordinateur que les versions client et serveur.

Oui, Docker est un client - les applications serveur. Daemon (Linux service de base de longue durée) serveur, CLI est l'un des nombreux clients. démon Docker décrit une API REST, de nombreux outils différents peuvent communiquer avec le démon via l'API.

$ version Docker

Client: Docker Engine - Communauté

Version: 19.03.5

version de l'API: 1,40

Version Go: go1.12.12

Git commit: 633a0ea

Construit: Mer 13 novembre 201907:22:34

OS / Arch: darwin / amd64

Expérimentale: false

Serveur: Docker Engine - Communauté

moteur:

Version: 19.03.5

version API: 1.40 (version minimum 1.12)

Version Go: go1.12.12

Git commit: 633a0ea

Construit: Mer 13 novembre 201907:29:19

OS / Arch: linux / amd64

Expérimentale: false

containerd:

Version: v1.2.10

GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339

Runc:

Version: 1.0.0-RC8 + dev

GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657

docker-init:

Version: 0.18.0

GitCommit: fec3683

sortie de la version Docker

Voici comment configurer le client - image architecture serveur

Docker sur AWS ECS

Parfois, vous devez entrer l'opération de conteneurs Docker, la mise en service ou contre-vérifier la configuration est correcte.

Vous pouvez utiliser docker exec -it < ID récipient >  / Bin / bash pour obtenir un accès shell. Si vous voulez savoir miroir Docker ne peut pas exécuter, par exemple, vous voulez utiliser AWS groupe ECS, vous recevez un message d'erreur obscur, comme indiqué ci-dessous.

La raison, franchement, ce qui provoque l'erreur varie, par exemple,

1) Vos problèmes de code, ce qui déclenche une exception non détectée, et les temps d'arrêt des conteneurs Docker au démarrage;

2) Lorsque l'ECS dans l'utilisation de l'instance cluster EC2, il y a eu un espace disque insuffisant, si vous tapez le ECS placé sans Fargate choisir ce problème se produit;

3) vos conteneurs existants EC2 Docker prennent toute la mémoire disponible.

récipient essentiel dans la tâche est sortie

Exécutez la commande suivante pour connaître l'échec des conteneurs récents terme docker. Si vous avez accès au compte sudo, s'il vous plaît ne pas tenir compte sudo. Vous pouvez utiliser cette commande, selon une sortie donnée, pour voir les raisons de son échec par navire de réexécuter.

$ Sudo docker ps -a --filter status = état de mort --filter = Exited --last 1

En cas de doute, redémarrez le service Docker

$ Sudo Service docker arrêt Sudo $ start service docker # Sur un MAC vous une utilisation du utilty docker ou bien exécuter $ Killall Docker && /Applications/Docker.app ouvert

Nous croyons aucune autre explication.

Docker miroir nettoyage

pruneau système $ Docker

Docker nettoyage objets inutilisés (comme un miroir, d'un conteneur, le volume et le réseau) a pris une attitude conservatrice.

Docker supprimé à moins que vous ne explicitement demandé, sinon généralement pas retirer ces objets. Par conséquent, si vous ne retirez pas ces objets, il faudra bientôt beaucoup d'espace. , Exécutez donc la commande suivante sur une base régulière pour nettoyer l'image Docker utilisé est très important.

kill docker < CONTAINER >

Tuer un récipient en cours d'exécution.

$ kill Docker $ (docker ps -q)

Tuez tous les conteneurs qui sont en cours d'exécution.

$ Docker rm < CONTAINER >  

Pour supprimer un conteneur n'est pas en cours d'exécution. Si l'image est stockée dans la bibliothèque d'images à distance, il ne sera pas affectée.

$ Docker rm $ (docker ps -a -q):

Supprimer tous les conteneurs ne sont pas en cours d'exécution.

Le my_container de $ Docker

Journal d'accès au conteneur est très utile lors du débogage.

Miroir Docker extrait d'une bibliothèque distante

1, Docker Hub

Docker Docker Hub est un service fourni pour la découverte en miroir contenant et open part.

Si vous voulez miroir de Docker Hub va tirer à la commande locale alors simplement Docker de course suivi par le chemin vers le miroir. La commande suivante montre comment tirer et utiliser la version stable de l'image bascule

$ Docker exécuter --rm -p 8787: 8787 rocker / vers

Docker va d'abord essayer de vérifier s'il y a un miroir sur l'ordinateur local. Sinon, télécharger à partir de la base de données mise en miroir Docker Hub, cette fonction est hors de la boîte.

$ Docker traction rocker / vers

Si vous voulez juste tirer le miroir, le miroir et ne veulent pas courir, vous pouvez simplement lancer traction docker.

Si vous voulez vous connecter Docker Hub, vous pouvez exécuter la commande ci-dessus, puis entrez le mot de passe.

2, la bibliothèque d'image personnalisée Docker

$ Docker connexion your.docker.host.com

Nom d'utilisateur: foo

Mot de passe: ********

Courriel: user@myemail.com

Si vous voulez personnaliser bibliothèque d'images Docker à l'image d'extrait d'une authentification de besoin commun, vous pouvez utiliser la commande de connexion de docker, comme indiqué ci-dessus. Notez que lors de l'exécution de l'opération ci-dessus, sera ~ / .docker / config.json

Créer une entrée de fichier. Modifier ~ / .docker / config.json peut modifier les informations d'authentification.

3, Amazon ECR

Amazon ECR (Amazon Elastic Container Registry) est un entrepôt de conteneurs Docker entièrement géré, ce qui permet aux développeurs de stocker, gérer et déployer image conteneurs Docker. Amazon ECR et ECS (Container Service élastique) de façon transparente. Si vous avez besoin d'image extrait ECR, vous pouvez vous référer à la commande suivante.

Vous devez utiliser l'utilisateur AWS IAM a des droits d'accès et la configuration des touches AWS CLI.

Amazon ECR requiert des clés d'accès utilisateur IAM doit être donnée par une stratégie IAM ecr: Permission GetAuthorizationToken avant de pouvoir vérifier par la bibliothèque d'images et d'extraire l'image. De plus, vous pouvez bénéficier d'Amazon ECR Docker Credential utilitaire Helper. La méthode suivante suppose que vous utilisez AWS CLI, et avez réglé toutes les autorisations.

$ Aws ecr liste-images --repository-name = twitter-data-moteur-core $ Aws ecr describe-images - dépôt-name = twitter-données-moteur-core $ Aws ecr get-connexion - région nous-est-1 - sans inclure-email

Get-connexion commande génère une longue commande de connexion Docker. Vous venez de copier et d'exécuter. Bien sûr, vous devez d'abord être authentifié avant de pouvoir tenter d'extraire de l'exécution AWS ECR miroir Docker.

$ Docker connexion -u -p {AWS YOUR_TEMPORARY_TOKEN} $ Docker tirer 723123836077.dkr.ecr.us-east-1.amazonaws.com/twitter-data-engine-core:build-9

Importation et exportation miroir Docker

$ Docker your_docker_image économisez: dernière >  /usr/local/your_docker_image.tar charge $ Docker <  /usr/local/your_docker_image.tar

Si vous avez un besoin, et que vous voulez exporter l'image sur votre disque dur et chargé dans l'image Docker, vous pouvez exécuter la commande ci-dessus.

Si vous voulez un autre support (bibliothèque d'images Docker extérieur), le miroir Docker transféré d'une machine à une autre, puis exporté vers un fichier est utile. En raison de la sécurité, dans certaines circonstances, votre accès peut être limité. Vous ne pouvez pas mettre en uvre bibliothèque d'images miroir de migration à la bibliothèque, donc c'est une commande très utile.

original:

https://medium.com/better-programming/the-ultimate-docker-command-list-d98ef300fe6d

réponse Ali « pour combattre beaucoup de personnel compte Taobao a été fermé », micro lettre conjointement face à nouveau hacker virus de la Couronne du livre Marathon; Kubernetes 1,18 | libération G
Précédent
Siri compose automatiquement le 911, le site Google construit le dépistage, les ingrédients pharmaceutiques de test IBM, l'action internationale dans la lutte contre le SRAS
Prochain
Byte battre Wuhan recruter 2.000 personnes, des fabricants offrent, vous court de ce Java sec! | Programme de travail
Quand votre entreprise a-t-elle besoin de l'intelligence artificielle? | Des millions de personnes apprennent l'IA
Détection biométrique, comparaison de visages ... Comment FaceID fait-il face à la cécité? | Des millions de personnes apprennent l'IA
Un chercheur principal de Microsoft explique le DNN efficace basé sur la convolution de groupe entrelacé | Million People Learning AI
Liu Tieyan parle de l'apprentissage automatique: trop avec des vagues, nous devons refléter | millions de personnes apprennent l'IA
Remarqué? Paris dans ces petits détails réconfortants
Les champs et les rues à la satisfaction des gens de construction « Red propriété »
Power "quatre" critique, le service a repris la production complexe! Liaocheng Académie des sciences agricoles en action
percée cruciale, lutte Yong-classe | Tsui villes de district ont flashé coups durs, réels, de nouvelles tactiques
Pour assurer la sécurité des enseignants et des étudiants! conditions scolaires de tels travaux de vérification effectués dans le Shandong
Reconnus longévité « bonnes habitudes » Venez voir ce que vous faites pour quelques-uns?
Le printemps est arrivé, la peau de démangeaisons à plusieurs reprises, l'enflure et la douleur, est-il un moyen peut se débarrasser des ruches?