Dockerfile commandes de base - graphique facile Docker et K8S

Dockerfile commandes de base - graphique facile Docker et K8S

>>> <<< point que je commencé à apprendre la vidéo

En Dockerfile nous écrivons une série de commandes intégrées, telles que la forme workdir et d'ajouter, comme Dockerfile, il offre bien plus que quelques commandes, dans cette section, nous allons expliquer les commandes les plus couramment utilisées. nous soulignons ici que, pour la commande que nous avons appris dans cette section, nous rappelle une impression sur elle. Nous avons également pratiqué par un grand nombre de cas dans le suivi. Tout d'abord, regardons un plus élémentaire de.

de

Ceci est basé sur l'instruction du miroir de référence conçu. Quelle est la base du miroir de référence? Comme son nom l'indique, nous construisons une nouvelle image, vous devez compter sur le miroir étendu dans lequel l'original. Disons que j'écris ici

from centos

Avant de commande Dockerfile naturellement, tandis que le second est CentOS CentOS mirroring dépôt distant. Dans la production de CentOS base naturelle: lastest, la dernière version doit être étendue.
Mais il y a quelques scènes spéciales, supposons que nous ne avons pas besoin de tout système, le seul espoir à partir de zéro, puis construire un miroir, puis dans notre première ligne du fichier que vous pouvez écrire

from scratch

Ne dépend pas au nom d'une image de référence, à partir de zéro, cette situation est très rare.
Les exemples suivants illustrent ce problème

from tomcat:9.0.22-jdk8-openjdk

Après le côlon est une version bien, voici ce que cela veut dire? A partir de tomcat tomcat prendre savons tous que cela se reflète en arrière si augmenté après les deux points, indique que nous voulons télécharger une version spécifique.
Voici dépôt distant 9.0.22-jdk8-OpenJDK nous fournit la version correspondante. CentOS devant cette position, on n'a pas écrit le côlon, il nous donnera le téléchargement par défaut la dernière version la plus récente, ce qui est de la règle par défaut Docker.
Pour le miroir de référence, voici une suggestion, comme docker, le temps de développement, autant que possible, en fonction de l'image image de référence de base fournie par le fonctionnaire à effectuer.
Parce que le fonctionnaire , nous pouvons penser qu'il est sûr, si elle est fournie par un autre tiers, où il a fait ce que les mains et les pieds , nous ne sait pas.

étiquette

l'étiquette est l'information descriptive, si elles sont placées dans le programme est annoté. l'étiquette ne possède pas la fonctionnalité, son rôle est d'écrire Dockerfile à l'intérieur pour obtenir des instructions.

label maintainer = "itlaoqi"
label version = "1.0"
label description = "ITLAOQI应用镜像"

Disons que je l'ai écrit ici trois étiquettes, nous expliquons tout d'abord qui est l'auteur? La seconde étiquette représente la version actuelle du Dockerfile, le troisième miroir de courant décrit les utilisations et décrit. Tel est le rôle de l'étiquette. Ne sous-estimez pas l'étiquette de rôle, mais il n'a pas de fonction, mais pour notre programme d'entretien offre une grande commodité. Imaginez que, il y a un an, vous voyez votre propre écriture, Dockerfile pense aussi le rôle de dans ce? Si, à ce moment il y a ces descriptions, comment pratique qu'il est.

workdir

workdir définir le répertoire de travail, et il est notre commande cd linux est très similaire, est utilisé pour définir le répertoire de travail en cours,

workdir /usr/lcoal

Nous représentons le répertoire de travail courant usr / local, comme si ce répertoire n'existe pas, puis sera créé la règle par défaut workdir.

workdir ./local

workdir a la fonction de créer un répertoire, utilisez le temps ma suggestion est que même si workdir peut sauter comme un cd à un chemin relatif, mais je recommande plus d'utiliser des chemins absolus lors de l'utilisation, c'est tous les chemins commencent par une barre oblique écrire l'adresse complète.

ajouter ©

ajouter ©. C'est de deux ordres, je mets un, ils fonctionnent très similaires, principalement pour copier des fichiers. Ainsi, dans la plupart des cas apparaissent ici ADD vous pouvez le remplacer par une copie.

ADD hello / #复制到根路径

Le rôle de cette déclaration fait référence bonjour à copier ce fichier dans le chemin racine de notre linux.

ADD test.tar.gz / #添加根目录并解压

La même ADD également une fonction avancée est extrait automatiquement, si l'on pointe vers une archive test.tar.gz, puis suivez le chemin du retour, il décompresse le fichier automatiquement plus loin dans ce répertoire.

Donc, en plus de la fonction ADD copie, par rapport à copier a également la fonction de tirer le fichier à distance. Cette boucle ou wget que nous utilisons dans la commande système Linux est très similaire, on peut dire que ADD est lorsque nous construisons habituellement un miroir des commandes très couramment utilisées, nous aider à copier des fichiers de physique pour les miroir pour aller.

env

ENV régler la constante de l'environnement, quel est-il environnement constant? En fait, très facile à comprendre. Avant que nous faisons java, si jdk veulent utiliser, alors, est de ne pas mettre en place une variable d'un tel environnement nommé java_home dans le système, le docker a également une configuration similaire utilisé ici env plus le nom de la constante de l'environnement, ajouter ultérieurement une valeur spécifique sur la ligne.

ENV JAVA_HOME /usr/local/openjdk8
RUN ${JAVA_HOME}/bin/java -jar test.jar

Prenez cet exemple, env java_home derrière ce chemin ainsi que des instructions java_home il pointe à cette adresse, il est le chemin java_home renvoient derrière.
Ensuite , l' utilisation peut utiliser la course pour exécuter une commande linux, mais utilise $ {} Dans cet environnement, couplé à être substitué par notre constante. Son rôle spécifique est équivalent à la mise en œuvre des applications Java dans le répertoire bin jdk8 ouvert et exécuter un test.jar. Ici , nous Implique également une nouvelle commande pour exécuter, exécuter des commandes Linux pour l' exécution, mais maintenant nous allons pas en parler, la section suivante pour expliquer en détail.
Nous vous recommandons d'utiliser en priorité comme env, car il peut augmenter notre programme de maintenance.
Si l'on suppose qu'il y a eu beaucoup d' endroits doivent exécuter la commande Java dans dockerfile, nous avons seulement besoin de définir java_home ils peuvent se référer.
Hypothèses sur l' environnement changement dans l'avenir, jdk a été placé dans une autre position, il n'a pas d' importance, il suffit de changer cet endroit, toutes les applications prendront effet.

exposer

exposer les exposer exposer le port de conteneurs en dehors de son rôle est d'exposer notre port conteneur interne. approche d' écriture est très simple, qui est, le mot derrière l'augmentation numéro de port correspondant sur la liste.
Comme exposer, son rôle est exposé à l'unité de port physique dans le récipient.
Dockerfile commandes de base - graphique facile Docker et K8S
Venez, nous regardons cette image, comme une partie de l'extérieur du rouge, on peut penser que cela est une machine de serveur physique. Et à l' intérieur , nous avons commencé un récipient tomcat. Si dokcerfile défini ici EXPOSER 8080, il est équivalent à l'intérieur du conteneur dans le port 8080 est exposée à l' extérieur. En même temps , nous créons un conteneur du temps.

EXPOSE 8080
docker run -p 8000:8080 tomcat

Ici vous pouvez voir que j'avais un -P8000: 8080, son rôle consiste à placer dans la machine physique est à l' extérieur, l'intérieur du port sont mis en correspondance avec 8080 par 8000. Donc , une fois à l' intérieur du service a commencé, entrez localhost dans notre en dehors du navigateur: 8000, vous pouvez accéder au port 8080 applications web à l' intérieur du. Ceci est d' exposer l' utilisation.
Comme Dockerfile, je vous donnerai démontrez juste le plus fondamental et le plus commun de plusieurs instructions, mais cela ne suffit pas pour nous aider à construire un miroir, car en plus de l'exposition des répertoires de commutation du port de copie, il y a beaucoup de commandes Linux requise mettre en œuvre, comment faire? La section suivante , nous continuons à expliquer.

Je suppose que tu aimes

Origine blog.51cto.com/13661690/2485847
conseillé
Classement