AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

docker-run - En ligne dans le Cloud

Exécutez docker-run dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande docker-run qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


docker-run - Exécute une commande dans un nouveau conteneur

SYNOPSIS


docker courir [-a|--attacher[=[]]] [--add-hôte[=[]]] [--blkio-poids[=[BLKIO-POIDS]]]
[--blkio-weight-device[=[]]] [--cpu-partages[=0]] [--cap-ajouter[=[]]] [--cap-goutte[=[]]]
[--cgroup-parent[=CGROUP-CHEMIN]] [--cidfile[=FICHIER CIDF]] [--cpu-période[=0]] [--cpu-quota[=0]]
[--cpuset-cpus[=CPUSET-CPU]] [--cpuset-mems[=CPUSET-MEMS]] [-d|--détacher]
[--détacher les clés[=[]]] [--dispositif[=[]]] [--device-read-bps[=[]]] [--device-read-iops[=[]]]
[--device-write-bps[=[]]] [--device-write-iops[=[]]] [--DNS[=[]]] [--dns-opt[=[]]]
[--dns-recherche[=[]]] [-e|--env[=[]]] [--point d'accès[=POINT D'ACCÈS]] [--env-fichier[=[]]]
[--exposer[=[]]] [--group-ajouter[=[]]] [-h|--nom d'hôte[=HOSTNAME]] [--Aidez-moi] [-i|--interactif]
[--ip[=ADRESSE IPv4]] [--ip6[=ADRESSE IPv6]] [--ipc[=IPC]] [--isolement[=défaut]]
[--mémoire-noyau[=MEMOIRE DU NOYAU]] [-l|--étiqueter[=[]]] [--label-fichier[=[]]] [--relier[=[]]]
[--log-pilote[=[]]] [--log-opt[=[]]] [-m|--Mémoire[=MÉMOIRE]] [--Adresse Mac[=ADRESSE MAC]]
[--réservation de mémoire[=MEMOIRE-RESERVATION]] [--échange de mémoire[=LIMIT]]
[--mémoire-échange[=ÉCHANGE DE MÉMOIRE]] [--Nom[=Nom]] [--rapporter[="pont"]]
[--net-alias[=[]]] [--oom-kill-désactiver] [--oom-score-adj[=0]] [-P|--publier-tout]
[-p|--publier[=[]]] [--pid[=[]]] [--privilégié] [--lecture seulement] [--redémarrage[=RESTART]] [--rm]
[--sécurité-opt[=[]]] [--signal d'arrêt[=SIGNAL]] [--shm-taille[=[]]] [--sig-proxy[=oui]]
[-t|--tty] [--tmpfs[=[REP-CONTENEUR[ : ]]] [-u|--utilisateur[=UTILISATEUR]] [--ulimit[=[]]]
[--uts[=[]]] [-v|--le volume[=[[HOST-DIR :]CONTAINER-DIR[:OPTIONS]]]]
[--volume-pilote[=DRIVER]] [--volumes-de[=[]]] [-w|--répertoire de travail[=RÉP TRAVAIL]] IMAGE [COMMANDE]
[ARG...]

DESCRIPTION


Exécutez un processus dans un nouveau conteneur. docker courir démarre un processus avec son propre système de fichiers,
son propre réseau et son propre arbre de processus isolé. L'IMAGE qui démarre le processus
peut définir des valeurs par défaut liées au processus qui sera exécuté dans le conteneur, le
mise en réseau pour exposer, et plus encore, mais docker courir donne le contrôle final à l'opérateur ou
administrateur qui démarre le conteneur à partir de l'image. Pour cette raison docker courir a plus
options que toute autre commande Docker.

Si l'IMAGE n'est pas déjà chargée, alors docker courir tirera l'IMAGE, et toutes les images
dépendances, à partir du référentiel de la même manière en exécutant docker tirer IMAGE, avant elle
démarre le conteneur à partir de cette image.

OPTIONS


-a, --attacher= []
Attachez à STDIN, STDOUT ou STDERR.

En mode premier plan (par défaut lorsque -d n'est pas précisé), docker courir peut démarrer le
processus dans le conteneur et attachez la console à l'entrée, à la sortie, à la sortie standard du processus
et erreur standard. Il peut même prétendre être un ATS (c'est ce que la plupart des lignes de commande
les exécutables attendent) et transmettent des signaux. Les -a l'option peut être définie pour chacun des stdin,
stdout et stderr.

--add-hôte= []
Ajouter un mappage hôte à IP personnalisé (host:ip)

Ajoutez une ligne à /etc/hosts. Le format est nom d'hôte : ip. Les --add-hôte l'option peut être définie
plusieurs fois.

--blkio-poids=0
Le poids du bloc IO (poids relatif) accepte une valeur de poids comprise entre 10 et 1000.

--blkio-weight-device= []
Poids du bloc IO (poids relatif de l'appareil, format : DEVICE_NAME : POIDS).

--cpu-partages=0
Parts CPU (poids relatif)

Par défaut, tous les conteneurs reçoivent la même proportion de cycles CPU. Cette proportion peut être
modifié en changeant la pondération de la part CPU du conteneur par rapport à la pondération de tous
autres conteneurs en cours d'exécution.

Pour modifier la proportion par défaut de 1024, utilisez le --cpu-partages indicateur pour définir le
pondération à 2 ou plus.

La proportion ne s'appliquera que lorsque des processus gourmands en ressources CPU sont en cours d'exécution. Lorsque les tâches en
un conteneur est inactif, d'autres conteneurs peuvent utiliser le temps CPU restant. Le montant réel
du temps CPU variera en fonction du nombre de conteneurs exécutés sur le système.

Par exemple, considérons trois conteneurs, l'un a un partage CPU de 1024 et deux autres ont un
paramètre de partage cpu de 512. Lorsque les processus dans les trois conteneurs tentent d'utiliser 100 % de
CPU, le premier conteneur recevra 50 % du temps CPU total. Si vous ajoutez un quatrième
conteneur avec une part d'UC de 1024, le premier conteneur n'obtient que 33% de l'UC. Les
les conteneurs restants reçoivent 16.5%, 16.5% et 33% du CPU.

Sur un système multicœur, les parts de temps CPU sont réparties sur tous les cœurs de processeur. Même si
un conteneur est limité à moins de 100% du temps CPU, il peut utiliser 100% de chaque individu
Noyau CPU.

Par exemple, considérons un système avec plus de trois cœurs. Si vous démarrez un conteneur {C0}
avec -c=512 exécuter un processus et un autre conteneur {C1} avec -c=1024 courir deux
processus, cela peut entraîner la division suivante des parts de CPU :

Partage CPU du conteneur PID
100 {C0} 0 100 % du processeur0
101 {C1} 1 100 % du processeur1
102 {C1} 2 100 % du processeur2

--cap-ajouter= []
Ajouter des capacités Linux

--cap-goutte= []
Abandonner les capacités Linux

--cgroup-parent= ""
Chemin d'accès aux groupes de contrôle sous lesquels le groupe de contrôle du conteneur sera créé. Si le chemin
n'est pas absolu, le chemin est considéré comme relatif au chemin des groupes de contrôle de l'init
traiter. Des groupes de contrôle seront créés s'ils n'existent pas déjà.

--cidfile= ""
Écrivez l'ID du conteneur dans le fichier

--cpu-période=0
Limiter la période CPU CFS (Complètement Fair Scheduler)

Limitez l'utilisation du processeur du conteneur. Ce drapeau indique au noyau de restreindre le processeur du conteneur
utilisation à la période que vous spécifiez.

--cpuset-cpus= ""
CPU dans lesquels autoriser l'exécution (0-3, 0,1)

--cpuset-mems= ""
Nœuds de mémoire (MEM) dans lesquels autoriser l'exécution (0-3, 0,1). Uniquement efficace sur NUMA
systèmes.

Si vous avez quatre nœuds de mémoire sur votre système (0-3), utilisez --cpuset-mems=0,1 puis traite
dans votre conteneur Docker n'utilisera que la mémoire des deux premiers nœuds de mémoire.

--cpu-quota=0
Limiter le quota CPU CFS (Complètement Fair Scheduler)

Limitez l'utilisation du processeur du conteneur. Par défaut, les conteneurs s'exécutent avec la ressource CPU complète.
Cet indicateur indique au noyau de restreindre l'utilisation du processeur du conteneur au quota que vous spécifiez.

-d, --détacher=oui|non
Mode détaché : exécutez le conteneur en arrière-plan et imprimez le nouvel ID de conteneur. Les
la valeur par défaut est non.

A tout moment tu peux courir docker ps dans l'autre shell pour afficher une liste des
conteneurs. Vous pouvez rattacher à un conteneur détaché avec docker joindre. Si vous choisissez de
exécuter un conteneur en mode détaché, alors vous ne pouvez pas utiliser le -rm option.

Lorsqu'il est attaché en mode tty, vous pouvez vous détacher du conteneur (et le laisser fonctionner)
à l'aide d'une séquence de touches configurable. La séquence par défaut est CTRL-p CTRL-q. Vous configurez
la séquence de touches à l'aide du --détacher les clés option ou un fichier de configuration. Voir
config-json(5) pour obtenir de la documentation sur l'utilisation d'un fichier de configuration.

--détacher les clés= ""
Remplacez la séquence de touches pour détacher un conteneur. Le format est un caractère unique [aZ]
or ctrl- De fait partie de: AZ, @, ^, [, , or _.

--dispositif= []
Ajoutez un périphérique hôte au conteneur (par exemple --device=/dev/sdc:/dev/xvdc:rwm)

--device-read-bps= []
Limiter le taux de lecture à partir d'un périphérique (par exemple --device-read-bps=/dev/sda:1mb)

--device-read-iops= []
Limiter le taux de lecture à partir d'un périphérique (par exemple --device-read-iops=/dev/sda:1000)

--device-write-bps= []
Limiter le taux d'écriture à un périphérique (par exemple --device-write-bps=/dev/sda:1mb)

--device-write-iops= []
Limiter le taux d'écriture sur un périphérique (par exemple --device-write-iops=/dev/sda:1000)

--dns-recherche= []
Définissez des domaines de recherche DNS personnalisés (utilisez --dns-search=. si vous ne souhaitez pas définir la recherche
domaine)

--dns-opt= []
Définir des options DNS personnalisées

--DNS= []
Définir des serveurs DNS personnalisés

Cette option peut être utilisée pour remplacer la configuration DNS transmise au conteneur.
Cela est généralement nécessaire lorsque la configuration DNS de l'hôte n'est pas valide pour le conteneur
(par exemple, 127.0.0.1). Lorsque c'est le cas le --DNS flags est nécessaire pour chaque exécution.

-e, --env= []
Définir les variables d'environnement

Cette option vous permet de spécifier des variables d'environnement arbitraires disponibles pour
le processus qui sera lancé à l'intérieur du conteneur.

--point d'accès= ""
Écraser le ENTRYPOINT par défaut de l'image

Cette option vous permet d'écraser le point d'entrée par défaut de l'image qui est défini dans le
Dockerfile. Le POINT D'ENTREE d'une image est similaire à une COMMANDE car il spécifie ce
exécutable à exécuter au démarrage du conteneur, mais il est (volontairement) plus difficile à
passer outre. L'ENTRYPOINT donne à un conteneur sa nature ou son comportement par défaut, de sorte que lorsque
vous définissez un ENTRYPOINT, vous pouvez exécuter le conteneur comme s'il s'agissait de ce binaire, avec
options par défaut, et vous pouvez passer plus d'options via la COMMANDE. Mais, parfois un
l'opérateur peut vouloir exécuter autre chose à l'intérieur du conteneur, vous pouvez donc remplacer le
ENTRYPOINT par défaut au moment de l'exécution en utilisant un --point d'accès et une chaîne pour spécifier le nouveau
POINT D'ACCÈS.

--env-fichier= []
Lire dans un fichier délimité par des lignes de variables d'environnement

--exposer= []
Exposer un port ou une plage de ports (par exemple --expose=3300-3310) informe Docker que le
le conteneur écoute sur les ports réseau spécifiés lors de l'exécution. Docker utilise ces informations
pour interconnecter des conteneurs à l'aide de liens et pour configurer la redirection de port sur le système hôte.

--group-ajouter= []
Ajouter des groupes supplémentaires à exécuter en tant que

-h, --nom d'hôte= ""
Nom d'hôte du conteneur

Définit le nom d'hôte du conteneur disponible à l'intérieur du conteneur.

--Aidez-moi
Imprimer la déclaration d'utilisation

-i, --interactif=oui|non
Gardez STDIN ouvert même s'il n'est pas connecté. La valeur par défaut est non.

Lorsqu'il est défini sur true, garde stdin ouvert même s'il n'est pas connecté. Le défaut est faux.

--ip= ""
Définit l'adresse IPv4 de l'interface du conteneur (par exemple 172.23.0.9)

Il ne peut être utilisé qu'avec --rapporter pour les réseaux définis par l'utilisateur

--ip6= ""
Définit l'adresse IPv6 de l'interface du conteneur (par exemple 2001:db8::1b99)

Il ne peut être utilisé qu'avec --rapporter pour les réseaux définis par l'utilisateur

--ipc= ""
La valeur par défaut consiste à créer un espace de noms IPC privé (POSIX SysV IPC) pour le conteneur
'récipient: ' : réutilise un autre conteneur partagé
mémoire, sémaphores et files d'attente de messages
« hôte » : utilise la mémoire partagée de l'hôte, les sémaphores et le message
files d'attente à l'intérieur du conteneur. Remarque : le mode hôte donne au conteneur un accès complet aux
mémoire partagée et est donc considérée comme non sécurisée.

--isolement="défaut"
Isolation spécifie le type de technologie d'isolation utilisée par les conteneurs.

-l, --étiqueter= []
Définir les métadonnées sur le conteneur (par exemple, --label com.example.key=value)

--mémoire-noyau= ""
Limite de mémoire du noyau (format : [ ], où unité = b, k, m ou g)

Contraint la mémoire du noyau disponible pour un conteneur. Si une limite de 0 est spécifiée (pas
en utilisant --mémoire-noyau), la mémoire du noyau du conteneur n'est pas limitée. Si vous spécifiez un
limite, il peut être arrondi à un multiple de la taille de la page du système d'exploitation et de la
la valeur peut être très grande, des millions de milliards.

--label-fichier= []
Lire dans un fichier d'étiquettes délimité par des lignes

--relier= []
Ajouter un lien vers un autre conteneur sous la forme de :alias ou juste dans
auquel cas l'alias correspondra au nom

Si l'opérateur utilise --relier lors du démarrage du nouveau conteneur client, le client
conteneur peut accéder au port exposé via une interface réseau privée. Docker définira
certaines variables d'environnement dans le conteneur client pour aider à indiquer quelle interface et
port à utiliser.

--log-pilote="fichier json|syslog|journal|gelée|couramment|awslogs|splunk|aucun"
Pilote de journalisation pour le conteneur. La valeur par défaut est définie par le démon --log-pilote drapeau.
: la docker journaux la commande ne fonctionne que pour le fichier json ainsi que
journal pilotes de journalisation.

--log-opt= []
Options spécifiques au pilote de journalisation.

-m, --Mémoire= ""
Limite de mémoire (format : [ ], où unité = b, k, m ou g)

Permet de restreindre la mémoire disponible pour un conteneur. Si l'hôte prend en charge le swap
mémoire, puis le -m le paramètre de mémoire peut être plus grand que la RAM physique. Si une limite de 0 est
spécifié (ne pas utiliser -m), la mémoire du conteneur n'est pas limitée. La limite réelle peut être
arrondie à un multiple de la taille de la page du système d'exploitation (la valeur serait très
grand, c'est des millions de milliards).

--réservation de mémoire= ""
Limite logicielle de la mémoire (format : [ ], où unité = b, k, m ou g)

Après avoir défini la réservation de mémoire, lorsque le système détecte un conflit de mémoire ou une mémoire faible,
les conteneurs sont contraints de restreindre leur consommation à leur réservation. Ainsi vous devriez
toujours définir la valeur ci-dessous --Mémoire, sinon la limite stricte prévaudra. Par
par défaut, la réservation de mémoire sera la même que la limite de mémoire.

--échange de mémoire="LIMITE"
Une valeur limite égale à la mémoire plus l'échange. Doit être utilisé avec le -m (--Mémoire) drapeau. Les
échange LIMIT doit toujours être plus grand que -m (--Mémoire) valeur.

Le format de LIMIT is [ ]. L'unité peut être b (octets), k (kilooctets), m
(mégaoctets), ou g (gigaoctets). Si vous ne spécifiez pas d'unité, b est utilisé. Réglez LIMIT sur -1 à
activer l'échange illimité.

--Adresse Mac= ""
Adresse MAC du conteneur (par exemple 92:d0:c6:0a:29:33)

N'oubliez pas que l'adresse MAC dans un réseau Ethernet doit être unique. Le lien-local IPv6
L'adresse sera basée sur l'adresse MAC de l'appareil conformément à la RFC4862.

--Nom= ""
Attribuer un nom au conteneur

L'opérateur peut identifier un conteneur de trois manières :
Identifiant long UUID
(“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”)
Identifiant court UUID ("f78375b1c487")
Nom ("jonas")

Les identifiants UUID proviennent du démon Docker, et si un nom n'est pas attribué au
conteneur avec --Nom alors le démon générera également un nom de chaîne aléatoire. Le nom est
utile lors de la définition des liens (voir --relier) (ou tout autre endroit où vous devez identifier un
récipient). Cela fonctionne pour les conteneurs Docker d'arrière-plan et de premier plan.

--rapporter="pont"
Définir le mode réseau pour le conteneur
'bridge' : créer une pile réseau sur le Docker par défaut
pont
'aucun' : pas de mise en réseau
'récipient: ' : réutiliser le réseau d'un autre conteneur
empiler
« hôte » : utilisez la pile réseau hôte Docker. Remarque : l'hôte
mode donne au conteneur un accès complet aux services système locaux tels que D-bus et est
donc considéré comme précaire.
' | ' : se connecter à un fichier défini par l'utilisateur
réseau et

--net-alias= []
Ajouter un alias d'étendue réseau pour le conteneur

--oom-kill-désactiver=oui|non
Désactiver ou non OOM Killer pour le conteneur.

--oom-score-adj= ""
Ajustez les préférences OOM de l'hôte pour les conteneurs (accepte -1000 à 1000)

-P, --publier-tout=oui|non
Publiez tous les ports exposés sur des ports aléatoires sur les interfaces hôtes. La valeur par défaut est non.

Lorsqu'il est défini sur true, publiez tous les ports exposés sur les interfaces hôtes. Le défaut est faux.
Si l'opérateur utilise -P (ou -p) alors Docker rendra le port exposé accessible sur le
hôte et les ports seront disponibles pour tout client pouvant atteindre l'hôte. Lorsque vous utilisez -P,
Docker liera tout port exposé à un port aléatoire sur l'hôte dans un éphémère port
gamme Défini par /proc/sys/net/ipv4/ip_local_port_range. Pour trouver la correspondance entre les
ports hôtes et les ports exposés, utilisez docker port.

-p, --publier= []
Publiez le port ou la plage de ports d'un conteneur sur l'hôte.

Format: IP : port hôte : port conteneur | ip::port conteneur | port hôte : port conteneur |
conteneurPort hostPort et containerPort peuvent être spécifiés comme une plage de ports. Lorsque
spécifiant des plages pour les deux, le nombre de ports de conteneurs dans la plage doit correspondre à la
nombre de ports hôtes dans la plage. (par exemple, docker courir -p 1234-1236: 1222-1224 --Nom
cela marche -t busybox mais pas docker courir -p 1230-1236: 1230-1240 --Nom
GammeContainerPortsBiggerThanRangeHostPorts -t busybox) Avec ip : docker courir -p
127.0.0.1 : $HOSTPORT : $CONTAINERPORT --Nom CONTENEUR -t une image Utilisez docker port pour voir
la cartographie réelle : docker port CONTENEUR $PORT-CONTAINEUR

--pid=hôte
Définir le mode PID pour le conteneur
hôte: utilise l'espace de noms PID de l'hôte à l'intérieur du conteneur.
Remarque : le mode hôte donne au conteneur un accès complet au PID local et est donc
considéré comme peu sûr.

--uts=hôte
Définir le mode UTS pour le conteneur
hôte: utilise l'espace de noms UTS de l'hôte à l'intérieur du conteneur.
Remarque : le mode hôte permet au conteneur d'accéder à la modification du nom d'hôte de l'hôte et est
donc considéré comme précaire.

--privilégié=oui|non
Accordez des privilèges étendus à ce conteneur. La valeur par défaut est non.

Par défaut, les conteneurs Docker sont « non privilégiés » (=false) et ne peuvent pas, par exemple, exécuter un
Démon Docker dans le conteneur Docker. C'est parce que par défaut un conteneur n'est pas
autorisé à accéder à tous les appareils. Un conteneur « privilégié » a accès à tous les appareils.

Lorsque l'opérateur exécute docker courir --privilégié, Docker permettra l'accès à tous
périphériques sur l'hôte ainsi que définir une configuration dans AppArmor pour autoriser le conteneur
presque tous le même accès à l'hôte que les processus s'exécutant en dehors d'un conteneur sur le
hôte.

--lecture seulement=oui|non
Montez le système de fichiers racine du conteneur en lecture seule.

Par défaut, un conteneur aura son système de fichiers racine accessible en écriture permettant aux processus d'écrire
fichiers n'importe où. En précisant le --lecture seulement signaler que le conteneur aura sa racine
système de fichiers monté en lecture seule interdisant toute écriture.

--redémarrage="aucune"
Stratégie de redémarrage à appliquer lorsqu'un conteneur se ferme (non, en cas d'échec[:max-retry], toujours,
à moins d'être arrêté).

--rm=oui|non
Supprimer automatiquement le conteneur lorsqu'il sort (incompatible avec -d). La valeur par défaut est
non.

--sécurité-opt= []
Options de sécurité

"label:user:USER" : définissez l'utilisateur de l'étiquette pour le conteneur
"label:role:ROLE" : définit le rôle de l'étiquette pour le conteneur
"label:type:TYPE" : définissez le type d'étiquette pour le conteneur
"label:level:LEVEL" : définit le niveau d'étiquette pour le conteneur
"label:disable" : désactiver le confinement des étiquettes pour le conteneur

--signal d'arrêt=SIGTERME
Signal d'arrêt d'un conteneur. La valeur par défaut est SIGTERM.

--shm-taille= ""
Taille de / dev / shm. Le format est .
nombre doit être supérieure 0. L'unité est facultative et peut être b (octets), k (kilooctets),
m(mégaoctets), ou g (gigaoctets).
Si vous omettez l'unité, le système utilise des octets. Si vous omettez complètement la taille, le système
Usages 64m.

--sig-proxy=oui|non
Le proxy a reçu des signaux vers le processus (mode non TTY uniquement). SIGCHLD, SIGSTOP et
SIGKILL ne sont pas proxy. La valeur par défaut est oui.

--mémoire-échange= ""
Ajustez le comportement d'échange de mémoire d'un conteneur. Accepte un entier compris entre 0 et 100.

-t, --tty=oui|non
Attribuez un pseudo-TTY. La valeur par défaut est non.

Lorsqu'il est défini sur true, Docker peut allouer un pseudo-tty et s'attacher à l'entrée standard de n'importe quel
récipient. Cela peut être utilisé, par exemple, pour exécuter un shell interactif jetable. Les
la valeur par défaut est faux.

La -t L'option est incompatible avec une redirection de l'entrée standard du client docker.

--tmpfs=[] Créer un montage tmpfs

Montez un système de fichiers temporaire (tmpfs) monter dans un conteneur, par exemple :

$ docker run -d --tmpfs / Tmp:rw,size=787448k,mode=1777 mon_image

Cette commande monte un tmpfs at / Tmp à l'intérieur du conteneur. Les options de montage prises en charge sont
le même que le Linux par défaut monter drapeaux. Si vous ne spécifiez aucune option, les systèmes
utilise les options suivantes : rw,noexec,nosuid,nodev,taille=65536k.

-u, --utilisateur= ""
Définit le nom d'utilisateur ou l'UID utilisé et éventuellement le nom de groupe ou le GID pour le
commander.

Les exemples suivants sont tous valides :
--user [utilisateur | utilisateur:groupe | uid | uid:gid | utilisateur:gid | uid:groupe ]

Sans cet argument, la commande sera exécutée en tant que root dans le conteneur.

--ulimit= []
Options illimitées

-v|--le volume[=[[HOST-DIR :]CONTAINER-DIR[:OPTIONS]]]
Créez un montage de liaison. Si vous précisez, -v /REP-HOTE:/REP-CONTENEUR, Docker
lier les montures /REP-HÔTE dans l'hôte pour /CONTENEUR-DIR dans le Docker
récipient. Si 'HOST-DIR' est omis, Docker crée automatiquement le nouveau
volume sur l'hôte. Les OPTIONS sont une liste délimitée par des virgules et peuvent être :

· [rw|ro]

· [z|Z]

· [[r]partagé|[r]esclave|[r]privé]

La CONTENEUR-DIR doit être un chemin absolu tel que /src/docsL’ HÔTE-DIR peut être un
chemin absolu ou un prénom valeur. UNE prénom la valeur doit commencer par un caractère alphanumérique,
suivie par a-z0-9, _ (souligner), . (période) ou - (trait d'union). Un chemin absolu commence par
a / (barre oblique).

Si vous fournissez un HÔTE-DIR c'est un chemin absolu, Docker se lie au chemin que vous
spécifier. Si vous fournissez un prénom, Docker crée un volume nommé par ce prénom. Par exemple,
vous pouvez spécifier soit /toto or foo pour HÔTE-DIR valeur. Si vous fournissez le /toto valeur,
Docker crée un montage de liaison. Si vous fournissez le foo spécification, Docker crée un nom
le volume.

Vous pouvez spécifier plusieurs -v options pour monter un ou plusieurs montages sur un conteneur. Utiliser
ces mêmes montages dans d'autres conteneurs, spécifiez le --volumes-de option aussi.

Vous pouvez ajouter : ro or :rw suffixe à un volume pour le monter en lecture seule ou en lecture-écriture,
respectivement. Par défaut, les volumes sont montés en lecture-écriture. Voir exemples.

Les systèmes d'étiquetage comme SELinux exigent que des étiquettes appropriées soient placées sur le contenu du volume
monté dans un conteneur. Sans étiquette, le système de sécurité pourrait empêcher les processus
s'exécutant à l'intérieur du conteneur d'utiliser le contenu. Par défaut, Docker ne change pas
les étiquettes définies par le système d'exploitation.

Pour modifier une étiquette dans le contexte du conteneur, vous pouvez ajouter l'un des deux suffixes :z or :Z à
le support de volume. Ces suffixes indiquent à Docker de réétiqueter les objets de fichier sur le partage
tomes. Les z L'option indique à Docker que deux conteneurs partagent le contenu du volume. Comme un
résultat, Docker étiquette le contenu avec une étiquette de contenu partagé. Les étiquettes de volume partagées permettent
tous les conteneurs pour lire/écrire du contenu. Les Z L'option indique à Docker d'étiqueter le contenu avec
une étiquette privée non partagée. Seul le conteneur actuel peut utiliser un volume privé.

Par défaut, les volumes montés liés sont Privé. Cela signifie que tous les montages effectués à l'intérieur du conteneur
ne sera pas visible sur l'hôte et vice-versa. On peut changer ce comportement en spécifiant un
propriété de propagation de montage de volume. Faire un volume commun montages effectués sous ce volume
à l'intérieur du conteneur sera visible sur l'hôte et vice-versa. Faire un volume esclave permet
propagation de montage à sens unique et c'est-à-dire que les montages effectués sur l'hôte sous ce volume seront
visible à l'intérieur du conteneur mais pas l'inverse.

Pour contrôler la propriété de propagation de montage du volume, on peut utiliser :[r]partagé, :[r]esclave or
:[r]privé drapeau de propagation. La propriété de propagation ne peut être spécifiée que pour les liaisons montées
volumes et non pour les volumes internes ou les volumes nommés. Pour que la propagation des montures fonctionne
le point de montage source (point de montage sur lequel le répertoire source est monté) doit avoir le droit
propriétés de propagation. Pour les volumes partagés, le point de montage source doit être partagé. Et pour
volumes esclaves, le montage source doit être partagé ou esclave.

Utilisez df pour comprendre le montage source, puis utiliser trouver -o
CIBLE,PROPAGATION pour comprendre les propriétés de propagation de la source
monter. Si trouver l'utilitaire n'est pas disponible, alors on peut regarder l'entrée de montage pour la source
point de montage dans /proc/self/mountinfo. Regarder optionnel des champs et voir s'il y a de la propagation
les propriétés sont spécifiées. partagé : X signifie que la monture est commun, maître : X signifie que la monture est esclave
et s'il n'y a rien, cela signifie que la monture est Privé.

Pour modifier les propriétés de propagation d'un point de montage, utilisez monter commander. Par exemple, si l'un
veut lier le répertoire source de montage /toto on peut faire monter --lier /toto /toto ainsi que monter
--rendre privé --faire-partagé /toto. Cela convertira /foo en un commun point de montage.
Alternativement, on peut changer directement les propriétés de propagation du montage source. Dire / is
montage source pour /toto, puis utilisez monter --faire-partagé / convertir / en commun monter.

Notes: Lors de l'utilisation de systemd pour gérer le démarrage et l'arrêt du démon Docker, dans le
fichier d'unité systemd, il existe une option pour contrôler la propagation du montage pour le Docker
démon lui-même, appelé Drapeaux de montage. La valeur de ce paramètre peut empêcher Docker de
voir les modifications de propagation de montage effectuées sur le point de montage. Par exemple, si cette valeur
is esclave, vous ne pourrez peut-être pas utiliser le commun or partagé propagation sur un volume.

--volume-pilote= ""
Pilote de volume du conteneur. Ce pilote crée des volumes spécifiés soit à partir de
un Dockerfile LE VOLUME instruction ou de la docker courir -v drapeau.
See docker-volume-créer(1) pour plus de détails.

--volumes-de= []
Monter des volumes à partir du ou des conteneurs spécifiés

Monte les volumes déjà montés d'un conteneur source sur un autre
récipient. Vous devez fournir le conteneur-id de la source. Partager
un volume, utilisez le --volumes-de option lors de l'exécution
le conteneur cible. Vous pouvez partager des volumes même si le conteneur source
ne fonctionne pas.

Par défaut, Docker monte les volumes dans le même mode (lecture-écriture ou
en lecture seule) car il est monté dans le conteneur source. En option, vous
peut changer cela en suffixant le conteneur-id avec soit le : ro or
:rw mot-clé.

Si l'emplacement du volume du conteneur source chevauche
données résidant sur un conteneur cible, le volume se cache
ces données sur la cible.

-w, --répertoire de travail= ""
Répertoire de travail à l'intérieur du conteneur

Le répertoire de travail par défaut pour l'exécution des binaires dans un conteneur est la racine
répertoire (/). Le développeur peut définir une valeur par défaut différente avec le Dockerfile WORKDIR
instruction. L'opérateur peut remplacer le répertoire de travail en utilisant le -w option.

Sortie Statut


Le code de sortie de docker courir donne des informations sur les raisons pour lesquelles le conteneur n'a pas pu s'exécuter ou
pourquoi il est sorti. Lorsque docker courir sorties avec un code différent de zéro, les codes de sortie suivent le
chroot norme, voir ci-dessous :

125 if le erreur is avec Docker démon lui-même

$ docker run --foo busybox; écho $?
# indicateur fourni mais non défini : --foo
Voir 'docker run --help'.
125

126 if le contenu commander ne peut pas be invoqué

$ docker exécuter busybox / Etc; écho $?
# exec : "/ Etc": permission refusée
docker : réponse d'erreur du démon : la commande contenue n'a pas pu être invoquée
126

127 if le contenu commander ne peut pas be trouvé

$ docker lance busybox foo; écho $?
# exec: "foo": fichier exécutable introuvable dans $PATH
docker : réponse d'erreur du démon : commande contenue introuvable ou n'existe pas
127

Sortie code of contenu commander autrement

$ docker exécuter busybox / Bin / sh -c 'sortie 3'
# 3

EXEMPLES


Fonctionnement récipient in en lecture seule mode


Lors du développement d'une image de conteneur, les conteneurs ont souvent besoin d'écrire dans le contenu de l'image.
Installation de packages dans / usr, par exemple. En production, les applications ont rarement besoin de
écrire à l'image. Les applications de conteneur écrivent sur des volumes si elles ont besoin d'écrire dans un fichier
systèmes du tout. Les applications peuvent être rendues plus sécurisées en les exécutant en mode lecture seule
en utilisant le commutateur --read-only. Cela protège l'image des conteneurs de toute modification. Lire
seuls les conteneurs peuvent encore avoir besoin d'écrire des données temporaires. La meilleure façon de gérer cela est de
monter les répertoires tmpfs sur / courir et /tmp.

# docker run --read-only --tmpfs / courir --tmpfs / Tmp -i -t fédora / bin / bash

Exposant enregistrer messages de le récipient à le l'hôte enregistrer


Si vous souhaitez que les messages qui sont enregistrés dans votre conteneur s'affichent dans le
syslog/journal, vous devez alors lier le montage du répertoire /dev/log comme suit.

# docker run -v /dev/log:/dev/log -i -t feutre / bin / bash

Depuis l'intérieur du conteneur, vous pouvez tester cela en envoyant un message au journal.

(bash)# logger "Bonjour depuis mon conteneur"

Sortez ensuite et consultez le journal.

# sortie

# journalctl -b | grep bonjour

Cela devrait lister le message envoyé à l'enregistreur.

Attachement à UN or PLUS de STDIN, STDOUT, STDERR


Si vous ne spécifiez pas -a alors Docker attachera tout (stdin,stdout,stderr) que vous voudriez
aime se connecter à la place, comme dans :

# docker run -a stdin -a stdout -i -t fedora / bin / bash

Partager IPC jusqu'à XNUMX fois conteneurs


Utilisation de shm_server.c disponible ici : ⟨https://www.cs.cf.ac.uk/Dave/C/node27.html⟩

Essais --ipc=hôte mode:

L'hôte affiche un segment de mémoire partagée avec 7 pid attachés, il se trouve qu'il provient de httpd :

$ sudo ipcs -m

------ Segments de mémoire partagée --------
clé shmid propriétaire perms octets nattch status
0x01128e25 0 racine 600 1000 7

Exécutez maintenant un conteneur ordinaire et il ne voit PAS correctement le segment de mémoire partagée de
l'hôte:

$ docker run -it shm ipcs -m

------ Segments de mémoire partagée --------
clé shmid propriétaire perms octets nattch status

Exécuter un conteneur avec le nouveau --ipc=hôte option, et il voit maintenant le segment de mémoire partagée
depuis l'hôte httpd :

$ docker run -it --ipc=hôte shm ipcs -m

------ Segments de mémoire partagée --------
clé shmid propriétaire perms octets nattch status
0x01128e25 0 racine 600 1000 7

Essais --ipc=conteneur:CONTAINERID mode:

Démarrez un conteneur avec un programme pour créer un segment de mémoire partagée :

$ docker run -it shm bash
$ sudo shm/shm_server
$ sudo ipcs -m

------ Segments de mémoire partagée --------
clé shmid propriétaire perms octets nattch status
0x0000162e 0 racine 666 27 1

Créer un 2ème conteneur n'affiche correctement aucun segment de mémoire partagée du 1er conteneur :

$ docker exécuter shm ipcs -m

------ Segments de mémoire partagée --------
clé shmid propriétaire perms octets nattch status

Créez un troisième conteneur à l'aide de la nouvelle option --ipc=container:CONTAINERID, maintenant il affiche le
segment de mémoire partagée du premier :

$ docker run -it --ipc=container:ed735b2264ac shm ipcs -m
$ sudo ipcs -m

------ Segments de mémoire partagée --------
clé shmid propriétaire perms octets nattch status
0x0000162e 0 racine 666 27 1

Enchaînement Conteneurs


Notes: Cette section décrit la liaison entre les conteneurs par défaut (pont)
réseau, également connu sous le nom de « liens hérités ». À l'aide de --relier sur les réseaux définis par l'utilisateur utilise
la découverte basée sur DNS, qui n'ajoute pas d'entrées à / Etc / hosts, et ne définit pas
variables d'environnement pour la découverte.

La fonction de lien permet à plusieurs conteneurs de communiquer entre eux. Par exemple, un
conteneur dont Dockerfile a exposé le port 80 peut être exécuté et nommé comme suit :

# docker run --name=link-test -d -i -t fedora/httpd

Un deuxième conteneur, appelé ici linker, peut communiquer avec le conteneur httpd,
nommé link-test, en exécutant avec le --link= :

# docker run -t -i --link=link-test:lt --name=linker fedora / bin / bash

Maintenant, le conteneur de liens est lié au conteneur link-test avec l'alias lt. Exécuter le
env la commande dans le conteneur de l'éditeur de liens affiche les variables d'environnement
avec le contexte LT (alias) (LT_)

# env
NOM D'HTE=668231cb0978
TERME=xterme
LT_PORT_80_TCP=tcp://172.17.0.3:80
LT_PORT_80_TCP_PORT=80
LT_PORT_80_TCP_PROTO=tcp
LT_PORT=tcp://172.17.0.3:80
CHEMIN=/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin
PWD=/
LT_NAME=/linker/lt
SHLVL=1
ACCUEIL=/
LT_PORT_80_TCP_ADDR=172.17.0.3
_=/ usr / bin / env

Lors de la liaison de deux conteneurs, Docker utilisera les ports exposés du conteneur pour créer un
tunnel sécurisé pour le parent d'accéder.

Si un conteneur est connecté au réseau de pont par défaut et lié avec les autres
conteneurs, puis le conteneur / Etc / hosts le fichier est mis à jour avec le conteneur lié
nom.

Notes Étant donné que Docker peut mettre à jour en direct le conteneur / Etc / hosts fichier, il peut y avoir
situations où les processus à l'intérieur du conteneur peuvent finir par lire un vide ou
incomplet / Etc / hosts déposer. Dans la plupart des cas, une nouvelle tentative de lecture devrait résoudre le problème.
problème.

Cartographie Ports en Externe Utilisation


Le port exposé d'une application peut être mappé sur un port hôte à l'aide de la -p drapeau. Pour
Par exemple, un port httpd 80 peut être mappé sur le port hôte 8080 à l'aide des éléments suivants :

# docker run -p 8080:80 -d -i -t fedora/httpd

La création ainsi que Montage a Données Volume Contenant


De nombreuses applications nécessitent le partage de données persistantes entre plusieurs conteneurs. Docker
vous permet de créer un conteneur de volume de données à partir duquel d'autres conteneurs peuvent être montés. Pour
Par exemple, créez un conteneur nommé qui contient les répertoires /var/volume1 et /tmp/volume2.
L'image devra contenir ces répertoires donc quelques instructions RUN mkdir
peut être requis pour votre image fedora-data :

# docker run --name=data -v /var/volume1 -v /tmp/volume2 -i -t fedora-data true
# docker run --volumes-from=data --name=fedora-container1 -i -t fedora bash

Les paramètres multiples --volumes-from rassembleront plusieurs volumes de données provenant de plusieurs
conteneurs. Et il est possible de monter les volumes provenant du conteneur DATA dans
encore un autre conteneur via le conteneur intermédiaire fedora-container1, permettant de
extraire la source de données réelle des utilisateurs de ces données :

# docker run --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash

Montage Externe Volumes


Pour monter un répertoire hôte en tant que volume de conteneur, spécifiez le chemin absolu vers le
répertoire et le chemin absolu du répertoire du conteneur séparés par deux points :

# docker run -v /var/db:/data1 -i -t fedora bash

Lorsque vous utilisez SELinux, sachez que l'hôte n'a aucune connaissance de la politique de conteneur SELinux.
Par conséquent, dans l'exemple ci-dessus, si la politique SELinux est appliquée, le /var/db le répertoire est
non inscriptible dans le conteneur. Un message « Autorisation refusée » apparaîtra et un avc :
message dans le syslog de l'hôte.

Pour contourner ce problème, au moment de la rédaction de cette page de manuel, la commande suivante doit être
exécuter pour que l'étiquette de type de politique SELinux appropriée soit attachée à l'hôte
annuaire:

# chcon -Rt svirt_sandbox_file_t /var/db

Désormais, l'écriture sur le volume /data1 du conteneur sera autorisée et les modifications seront
également être reflété sur l'hôte dans /var/db.

En utilisant alternative sécurité l'étiquetage


Vous pouvez remplacer le schéma d'étiquetage par défaut pour chaque conteneur en spécifiant le
--sécurité-opt drapeau. Par exemple, vous pouvez spécifier le niveau MCS/MLS, une exigence pour le MLS
systèmes. La spécification du niveau dans la commande suivante vous permet de partager le même
contenu entre les conteneurs.

# docker run --security-opt label:level:s0:c100,c200 -i -t fedora bash

Un exemple MLS pourrait être :

# docker run --security-opt label:level:TopSecret -i -t rhel7 bash

Pour désactiver l'étiquetage de sécurité pour ce conteneur par rapport à l'exécution avec le --permissif
flag, utilisez la commande suivante :

# docker run --security-opt label:disable -i -t fedora bash

Si vous souhaitez une politique de sécurité plus stricte sur les processus au sein d'un conteneur, vous pouvez spécifier
un autre type pour le conteneur. Vous pouvez exécuter un conteneur autorisé uniquement à
écoutez sur les ports Apache en exécutant la commande suivante :

# docker run --security-opt label:type:svirt_apache_t -i -t centos bash

Remarque:

Vous devrez rédiger une politique définissant un svirt_apache_t type.

Paramètres dispositif poids


Si vous souhaitez définir / Dev / sda poids de l'appareil à 200, vous pouvez spécifier le poids de l'appareil en
--blkio-weight-device drapeau. Utilisez la commande suivante :

# docker run -it --blkio-weight-device "/dev/sda:200" ubuntu

Spécifier seul sans souci en récipient (--isolement)


Cette option est utile dans les situations où vous exécutez des conteneurs Docker sur Microsoft
Les fenêtres. Les --isolement L'option définit la technologie d'isolation d'un conteneur. Sous Linux,
le seul supporté est le défaut option qui utilise les espaces de noms Linux. Ces deux commandes
sont équivalents sous Linux :

$ docker run -d haut de la boîte occupée
$ docker run -d --isolation par défaut busybox top

Sous Microsoft Windows, peut prendre l'une de ces valeurs :

· défaut: Utilisez la valeur spécifiée par le démon Docker --exec-opt . Si l' démon
ne spécifiez pas de technologie d'isolation, Microsoft Windows utilise processus par défaut
valeur.

· processus: isolation de l'espace de noms uniquement.

· hyperv: Isolation basée sur la partition de l'hyperviseur Hyper-V.

En pratique, lors de l'exécution sur Microsoft Windows sans démon jeu d'options, ces deux
les commandes sont équivalentes :

$ docker run -d --isolation par défaut busybox top
$ docker run -d --isolation process busybox top

Si vous avez défini le --exec-opt isolement=hyperv option sur le Docker démon, l'un de ces
les commandes entraînent également hyperv isolement:

$ docker run -d --isolation par défaut busybox top
$ docker run -d --isolation hyperv occupébox haut

HISTOIRE


Avril 2014, à l'origine compilé par William Henry (whenry chez redhat dot com) basé sur
le matériel source de docker.com et le travail interne. Juin 2014, mis à jour par Sven Dowideit
[email protected]⟩ Juillet 2014, mis à jour par Sven Dowideit ⟨[email protected]
Novembre 2015, mis à jour par Sally O'Malley ⟨[email protected]

Utilisez docker-run en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    facetracknoir
    facetracknoir
    Programme de headtracking modulaire qui
    prend en charge plusieurs suivis de visage, filtres
    et les protocoles de jeu. Parmi les traqueurs
    sont les SM FaceAPI, AIC Inertial Head
    Traqueur...
    Télécharger facetracknoir
  • 2
    Code QR PHP
    Code QR PHP
    Le code QR PHP est open source (LGPL)
    bibliothèque de génération de QR Code,
    code-barres en 2 dimensions. Basé sur
    bibliothèque libqrencode C, fournit une API pour
    création de QR Code barc...
    Télécharger le code QR PHP
  • 3
    freeciv
    freeciv
    Freeciv est un tour par tour gratuit
    jeu de stratégie multijoueur, dans lequel chacun
    joueur devient le leader d'un
    civilisation, luttant pour obtenir la
    objectif ultime : devenir...
    Télécharger Freeciv
  • 4
    Coucou Sandbox
    Coucou Sandbox
    Cuckoo Sandbox utilise des composants pour
    surveiller le comportement des logiciels malveillants dans un
    Environnement bac à sable ; isolé de la
    reste du système. Il offre automatisé
    analyse de...
    Télécharger Coucou Sandbox
  • 5
    LMS-YouTube
    LMS-YouTube
    Lire la vidéo YouTube sur LMS (portage de
    Triode's to YouTbe API v3) C'est
    une application qui peut aussi être récupérée
    de
    https://sourceforge.net/projects/lms-y...
    Télécharger LMS-YouTube
  • 6
    Windows Presentation Foundation
    Windows Presentation Foundation
    Fondation de présentation Windows (WPF)
    est un framework d'interface utilisateur pour la construction de Windows
    applications de bureau. WPF prend en charge un
    large ensemble de développement d'applications
    Caractéristiques...
    Télécharger Windows Présentation Foundation
  • Plus "

Commandes Linux

Ad