Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
13 mars 2016

htmlpdflatexmanmd




config.json

config.json

Fichier de configuration de Docker

   Par défaut, La ligne de commande Docker stocke sa configuration dans un répertoire appelé .docker dans le répertoire home. Docker gère la plupart des fichiers de configuration dans ce répertoire et ne devraient pas être modifiés. Cependant, on peut modifier config.json pour contrôler certains aspects du comportement de la commande docker.

   Actuellement, on peut modifier la commande docker en utilisant les variables d'environnement ou les options de la ligne de commande. On peut également utiliser les options dans le fichier config.json. En utilisant ces mécanismes, il faut garder en tête l'ordre de précédence. Les options de la ligne de commande on priorité sur les variables d'environnement, qui ont priorité sur config.json. Le fichier config.json stocke les propriétés encodé en JSON.

HttpHeaders Spécifie un jeu d'en-têtes à inclure dans tous les messages envoyés depuis le client Docker au service. Docker ne tente pas d'interpréter cet en-tête.
psFormat Spécifie le format par défaut pour la sortie docker ps.
detachKey Spécifie la séquence de touche par défaut pour détacher un conteneur.
imagesFormat Spécifie le format par défaut pour la sortie de docker images.

Exemple

{
    "HttpHeaders": {
        "MyHeader": "MyValue"
    },
    "psFormat": "table {{.ID}}\\t{{.Image}}\\t{{.Command}}\\t{{.Labels}}",
    "imagesFormat": "table {{.ID}}\\t{{.Repository}}\\t{{.Tag}}\\t{{.CreatedAt}}",
    "detachKeys": "ctrl-e,e"
}

^
13 mars 2016

htmlpdflatexmanmd




docker

docker

Interface de gestion d'image et de conteneur

   docker a 2 fonctions distincts. Il est utilisé pour démarrer le service Docker et de lancer l'interface en ligne de commande. Docker est donc à la fois un serveur et un client. docker daemon lance le service docker. Le CLI a 30 commandes. Les commandes sont listées ci-dessous et chacun a sa propre page d'aide.

OPTIONS

--config="" Spécifie l'emplacement des fichiers de configuration du client docker. Défaut: /.docker
-D, --debug=true|false Active le mode débug. Défaut: false
-H, --host=[unix:///var/run/docker.sock]: tcp:[host]:[port][path] ou unix://[/path/to/socket] Les sockets d'écoute en mode service. Si le port tcp n'est pas spécifié, le défaut est 2375 quand --tls est off, ou 2376 qui --tls est on, ou --tlsverify est spécifié.
-l, --log-level="debug|info|warn|error|fatal" Définis le niveau de log. Défaut: info
--tls=true|false Utilise TLS; implique --tlsverify. Défaut: false
--tlscacert=/.docker/ca.pem Ne valide que les certificats signés par cette CA
--tlscert=/.docker/cert.pem Certificat à utiliser
--tlskey=/.docker/key.pem Clé TLS
--tlsverify=true|false Utilise TLS et vérifie le paire. Défaut: false

Commandes

attach Attache au conteneur en cours
build Construit une image depuis un Dockerfile
commit Créé une nouvelle image depuis les changements d'un conteneur
cp copie les fichiers/répertoires entre un conteneur et le système de fichier local.
create Créer un nouveau conteneur
diff inspect les changements dans le système de fichier d'un conteneur
events Lis les événements temps réel depuis le serveur
exec Lance une commande dans un conteneur
export Envoie le contenu d'un conteneur comme archive tar
history Affiche l'historique d'une image
images Liste les images
import Créer un nouveau système de fichier image depuis le contenu d'un tar.
info Affiche des informations du système
inspect Retourne des informations bas niveau d'un conteneur ou d'une image
kill Termine un conteneur.
load Charge une images depuis une archive tar
login Se logger à un registre Docker
logout terminer la session d'un registre Docker
logs Rapporte les logs d'un conteneur
pause Pause tous les processus dans un conteneur
port Recherche le port publique qui est natté à un port privé
ps Liste les conteneurs
pull récupère une image ou un dépôt d'un registre Docker
push envoie une image ou un dépôt d'un registre Docker
rename Renomme un conteneur
restart Redémarre un conteneur
rm Supprime un ou plusieurs conteneurs
rmi Supprime une ou plusieurs images
run Lance une commande dans un nouveau conteneur
save Sauve une image dans une archive tar
search Recherche une image dans l'index Docker
start Démarrer un conteneur
stats Affiche un flux de statistiques d'utilisation de ressource d'un ou plusieurs conteneurs
stop Stop un conteneur
tag Tag une image dans un dépôt
top Voir les processus fonctionnant dans un contenant
unpause Résume un conteneur en pause
version Affiche les informations de version de docker
wait Block jusqu'à ce que le conteneur s'arrête, et affiche son code de sortie.

Options du pilote exec

   Utiliser l'option --exec-opt permet de spécifier des options pour le pilote d'exécution. Les options suivantes sont disponibles:

native.cgroupdriver Spécifie a gestion des cgroups du conteneur. peut être cgroupfs ou systemd.
Client voir man docker-run
^
13 mars 2016

htmlpdflatexmanmd




docker-attach

docker-attach

Attache un conteneur en cours d'exécution

   docker attach permet d'attacher une conteneur en cours d'exécution en utilisant l'ID du conteneur ou son nom, soit pour voir sa sortie, soit pour contrôler son interactivité. On peut attacher le même processus plusieurs fois simultanément. Pour stopper un conteneur, utiliser CTRL-c. Cette séquence de touche envoie SIGKILL au conteneur. On peut détacher un conteneur en utilisant une séquence de touches (défaut: CTRL-p CTRL-q). On peut configurer la séquence de touche en utilisant l'option --detach-keys ou un fichier de configuration. Il est interdit de rediriger l'entrée standard d'une commande docker attach en attachant un conteneur tty (lancé avec -t).

OPTIONS

--detach-keys="" Change la séquence de touche pour détacher le conteneur. Défaut: CTRL-p CTRL-q.
--no-stdin=true|false N'attache pas STDIN. défaut: false
--sig-proxy=true|false signaux proxy reçus au processus (mode non-TTY uniquement). SIGCHLD, SIGSTOP, SIGKILL ne sont pas proxifiés.

Exemples

Atacher un conteneur:
ID=$(sudo docker run -d fedora /usr/bin/top -b)
sudo docker attach $ID
^
13 mars 2016

htmlpdflatexmanmd




docker-build

docker-build

Construire une image depuis le code source

   Cette commande lit un Dockerfile depuis le répertoire spécifié. Il a besoin également d'autres fichiers et répertoires trouvés dans le répertoire courant du service docker. Le contenu de ce répertoire sera utilisé par les commandes AD dans le Dockerfile.

   Note, cela envoie beaucoup de données au service Docker en fonction du contenu du répertoire courant. La construction est lancé par le service Docker, par par le client, donc tout le contexte doit être transféré au service. Le client affiche "Sending Build context to Docker daemon" quand le contexte est envoyé au service.

   Quand l'URL d'une archive tar ou un simple Dockerfile est donné, aucun contexte est envoyé au service. Dans ce cas, le Dockerfile à la racine de l'archive et le reste de l'archive seront utilisé comme contenu de construction. Dans un dépôt git est utilisé comme url, le dépôt est cloné localement et envoyé comme contexte.

OPTIONS

-f, --file=PATH/Dockerfile Chemin du fichier Dockerfile à utiliser.
--build-arg=variable Nom et valeur d'un buildarg. Docker les utilise comme contexte d'environnement via l'instruction RUN du dockerfile.
--force-rm=true|false Supprime les conteneurs intermédiaires, même après des constructions échouées. défaut: false
--isolation="default" spécifique le type de technologie d'isolation utilisée par les conteneurs
--no-cache=true|false Ne pas utiliser de cache pour construire l'image. Défaut: false
--pull-true|false Tente de récupérer une version plus récente de l'image. défaut: false
-q, --quiet=true|false Supprime la sortie de la construction et affiche l'ID de l'image en cas de succès. Défaut: false
--rm=true|false Supprime les conteneurs intermédiaire en cas de réussite. Défaut: true.
-t, --tag="" Noms de dépôts (et optionnellement avec tag) à appliquer à l'image résultante en cas de succès.
-m, --memory=MEMORY Limite mémoire
--memory-swap="LIMIT" Une valeur limite égale à la mémoire plus le swap. Doit être utilisé avec -m.
--shm-size="" Taille de /dev/shm. format: ‹number›‹unit›
--cpu-shares=0 Partage CPU
--cpu-period=0 Limite la période CFS
--cpu-quota=0 Lisite le quota CPU CFS
--cpuset-mems="" Nœuds mémoire autorisés.
--cpuset-cpus=CPUSET-CPUS CPU dans lesquels autoriser l'exécution
--cgroup-parent="" Chemin des cgroups sous lesquels créer le conteneur. Si le chemin n'est pas absolu, le chemin est relatif aux cgroups du processus init.
--ulimit=[] Options ulimit
-v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]]

Exemples

Construire une image en utilisant un Dockerfile dans le répertoire courant:
docker build .
Construire une image et nommer cette image
docker build -t myimage .
Une meilleur approche est de nommer le répertoire, nom et tag:
docker build -t fedora/jboss:1.0
Construire une image avec une URL:
docker build github.com/scollier/purpletest
Construire une image en utilisant une URL dans un contexte tar
docker build -f dev/Dockerfile https://10.10.10.1/docker/context.tar.gz
^
13 mars 2016

htmlpdflatexmanmd




docker-commit

docker-commit

Créer une nouvelle image depuis les changements d'un conteneur

   Crée une nouvelle image depuis un conteneur existant. La nouvelle image contient le contenu du système de fichier du conteneur, excluant tous volumes de données. Cette commande est utile pour étendre une image existante.

OPTIONS

-a, --author="" Auteur
-c, --change=[] Applique les instruction Dockerfile spécifiés. (CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR)
-m, --message="" Message d'envoie
-p, --pause=true|false Met en pause le conteneur durant le commit. Défaut: true.

Exemples

Créer une nouvelle image depuis un conteneur existant:
docker commit -m="Added Apache to Fedora base image" -a="A D Ministrator" 98bd7fc99854 fedora/fedora_httpd:20
Appliquer les instruction Dockerfile spécifiés:
docker commit -c="ENV DEBUG true" 98bd7fc99854 debug-image
^
13 mars 2016

htmlpdflatexmanmd




docker-cp

docker-cp

Copier des fichiers/répertoires entre un conteneur et le système de fichier local

   copie le contenue de SRC_PATH vers DEST_PATH. Permet de copier le système de fichier d'un conteneur dans la machine locale et inversement. Si - est spécifié, permet d'envoyer une archive tar depuis STDIN ou vers STDOUT. Le conteneur peut être en cours d'exécution ou arrêté. docker cp assume que les chemins de conteneurs soient relatif au répertoire racine. Cette commande agit comme la commande cp -a (récursif et préservation des permissions)

   Un ':' est utilisé pour délimiter le conteneur et son chemin, par exemple: `/path/to/file:name.txt` or `./file:name.txt`. Il n'est pas possible de copier certains fichiers système tels que /proc, /sys, /dev, et les montages créé par l'utilisateur dans le conteneur.

OPTIONS

-L, --folow-link=true|false Suit les liens symboliques

Exemples

Supposons un conteneur ayant finis de produire un fichier dans son système de fichier. Il peut être sortis via:
docker cp mycontainer:tmp/foo /tmp
^
13 mars 2016

htmlpdflatexmanmd




docker-create

docker-create

Créer un nouveau conteneur

   Créér un nouveau conteneur basé sur l'image spécifiée et la prépare pour excécuter la commande spécifiée. L'ID du conteneur est affiché sur STDOUT. C'est similaire à docker run excepté que le conteneur n'est jamais démarré. Le status initial du conteneur créé avec docker create est 'created'

OPTIONS

-a, --attach=[] Attache à STDIN, STDOUT ou STDERR. En mode foreground.
--add-host=[] Ajoute un mappage host-to-IP personnalisé (host:ip). Ajoute une ligne à /etc/hosts. peut être spécifié plusieurs fois.
--blkio-weight=0 Poid IO entre 10 et 1000
--blkio-weight-device=[] Poid IO au format DEVICE_NAME:WEIGHT
--cpu-shares=0 Partage CPU
--cap-add=[] Ajouter des capabilities Linux
--cap-drop=[] Supprimer de capabilities Linux
--cgroup-parent="" Chemin des cgroups sous lesquels créer le conteneur. Si le chemin n'est pas absolu, le chemin est relatif aux cgroups du processus init.
--cidfile="" Écrit l'ID de conteneur dans le fichier
--cpu-period=0 Limite la période CFS
--cpuset-cpus=CPUSET-CPUS CPU dans lesquels autoriser l'exécution
--cpuset-mems="" Nœuds mémoire autorisés.
--cpu-quota=0 Limite le quota CPU CFS
-d, --detach=true|false Lance de conteneur en tâche de fond et affiche l'ID du conteneur. défaut: false
--detach-keys="" Change la séquence de touche pour détacher le conteneur. Défaut: CTRL-p CTRL-q.
--device=[] Un périphérique hôte pour le conteneur (ex --device=/dev/sdc:/dev/xvdc:run)
--device-read-bps=[] Limite le taux de lecture d'un périphérique ( ex --device-read-bps=/dev/sda:1mb)
--device-read-iops Limite le taux de lecture d'un périphérique (ex --device-read-iops=/dev/sda:1000)
--device-write-bps=[] Limite le taux d'écriture d'un périphérique ( ex --device-write-bps=/dev/sda:1mb)
--device-write-iops Limite le taux d'écriture d'un périphérique (ex --device-write-iops=/dev/sda:1000)
--dns-search=[] Définis les domaines de recherche DNS.
--dns-opt=[] Définis les options DNS
--dns=[] Définis les serveurs DNS
-e, --env=[] Définis des variables d'environnement.
--entrypoint="" Remplace l'ENTRYPOINT de l'image
--env-file=[] Line un fichier de variables d'environnements
--expose=[] Expose un port, une une plage de ports informant Docker que le conteneur écoute sur les ports spécifiés. Docker utilise cette information pour interconnecter les conteneurs en utilisant des liens et pour définir la redirection de port dans le système hôte.
--group-add=[] Ajoute des groupes additionnels à lancer
-h, --hostname="" nom d'hôte du conteneur
-i, --interactive=true|false Garde STDIN ouvert même s'il n'est pas attaché. défaut: false
--ip="" Définis l'adresse IPv4 de l'interface du conteneur, uniquement avec --net pour les réseaux utilisateurs
--ip6="" Définis l'adresse IPv6 de l'interface du conteneur, uniquement avec --net pour les réseaux utilisateurs
--ipc="" Créé un espace de nom IPC privé pour le conteneur
--isolation="default" spécifique le type de technologie d'isolation utilisée par les conteneurs
-l, --label=[] Définis les métadonnées du conteneur (ex: --label com.example.key=value)
--kernel-memory="" Limit la mémoire kernel. (0 = illimité)
--label-file=[] Lit un fichier de labels
--link=[] Ajoute un lien vers un autre conteneur sous la forme ‹nom ou id›:alias.
--log-driver="json-file|syslog|journald|gelf|fluentd|awslogs|splunk|none" Pilote de logging pour le conteneur. La commande docker logs ne fonctionne que pour les pilotes json-file et journald.
--log-opt=[] options spécifique au pilote de logging
-m, --memory="" Limite mémoire
--memory-reservation="" Limite soft
--memory-swap="LIMIT" Une valeur limite égale à la mémoire plus le swap. Doit être utilisé avec -m.
--mac-address="" L'adresse mac de conteneur
--name="" Assigne un nom au conteneur au format UUID long, UUID court, ou un nom.
--net="bridge" Définis le mode réseau pour le conteneur (bridge, none, container:‹name|id›, host, ‹network-name›|‹network-id›
--net-alias=[] ajoute un alias réseau pour le conteneur
--oom-kill-disable=true|false Active ou non le OOM Killer pour le conteneur
--oom-score-adj="" Ajustement OOM de l'hôte pour le conteneur (-1000 à 1000)
-P, --publish-all=true|false Publie tous les ports exposés aux ports aléatoire dans les interfaces de l'hôte. Défaut: false
-p, --publish=[] Publie le port d'un conteneur, ou une plage de port, à l'hôte (Format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort)
--pid=host Définis de mode PID pour le conteneur (host: utilise l'espace de nom PID de l'hôte, non sécurisé)
--uts=host Définis le mode UTS pour le conteneur (host: utilise l'espace de noms UTS dans le conteneur, non sécurisé)
--privileged=true|false Donne des priviléges étendus à ce conteneur. Défaut: false
--read-only=true|false Mounte le système de fichier racine du conteneur en lecture seule.
--restart="no" Stratégie de redémarrage quand le conteneur se termine. (no, on-failure[:max-retry], always, unless-stopped)
-rm=true|false Supprime automatiquement le conteneur quand il se termine. incompatible avec -d. défaut: false
--security-opt=[] Options de sécurité
--stop-signal=SIGTERM Signal pour stopper un conteneur
--shm-size="" Taille de /dev/shm. format: ‹number›‹unit›
-t, --tty=true|false Alloue un pseudo-TTY. défaut: false
--tmpfs=[] Créé un montage tmpfs
-u, --user="" Définis le username ou l'UID utilisé et optionnellement le group ou GID pour la commande spécifiée
--ulimit=[] Options ulimit
-v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]] Créé un montage. avec -v /HOST-DIR:/CONTAINER-DIR, Docker monte /HOST-DIR dans l'hôte dans /CONTAINER-DIR dans le conteneur. Si HOST-DIR est omis, Docker créé un nouveau volume dans l'hôte. par défaut, les montages sont privés (non-visibles dans l'hôte). Peut être spécifié plusieurs fois.
--volume-driver="" Pilote de volume du conteneur. Ce pilote créé les volumes spécifié soit avec l'instruction VOLUME du dockerfile, ou depuis l'option -v.
--volumes-from=[] Monte les volumes depuis les conteneurs spécifiés.
-w, --workdir="" Répertoire de travail dans le conteneur
^
13 mars 2016

htmlpdflatexmanmd




docker-daemon

docker-daemon

Activer le mode service

OPTIONS

--api-cors-header="" Définis les en-têtes CORS dans l'API distante. Défaut: désactivé.
--authorization-plugin="" Définis les plugins d'autorisation à charger
-b, --bridge="" Attache les conteneurs à un bridge réseau existant
--bit="" Utiliser l'adresse en notation CIDR donnée pour la création du bridge0. Ne peut pas être utilisé avec -b
--cgroup-parent="" Définis le cgroup parent pour tous les conteneurs. Défatut: /docker pour le pilote cgroup fs, et system.slice pour le pilote cgroup systemd
--cluster-store="" URL du backend de stockage distribué
--cluster-advertise="" Spécifie la combinaison 'host:port' ou 'interface:port' que cette instance particulière devrait utiliser en s'annonçant au cluster. Le service est accessible via cette valeur.
--cluster-store-opt="" Spécifie les optins pour la magasin de clé/valeurs
--config-file="/etc/docker/daemon.json" Spécifie le fichier de configuration JSON à charger
-D, --debug=true|false Active le mode débug. Défaut: false
--default-gateway="" Adresse IPv4 de la passerelle par défaut du conteneur. Cette adresse doit faire partie du bridge, définis par --bip
--default-gateway-v6="" idem avec l'IPv6
--default-ulimit=[] Définis les ulimits pour les conteneurs
--disable-legacy-registry=true|false Ne pas contacter les registre legacy
--dns="" Forcer Docker à utiliser les serveurs DNS spécifiés
--dns-opt="" Options DNS à utiliser
--dns-search=[] Domaines DNS à utiliser
--exec-opt=[] Défins les options du pilote d'exécution.
--exe-root="" Chemin racine du pilote d'exécution Docker. Défaut: /var/run/docker
--fixed-cidr="" Sous-réseau IPv4. Ce sous-réseau doit être imbriqué dans le bridge définis par --bip
--fixed-cidr-v6="" Idem en ipv6
-G, --group="" Groupe pour assigner un socker unix spécifié pas -H. Défaut: docker
-g, --graph="" Chemin à utiliser comme racine du Docker runtime. Défaut: /var/lib/docker
-H, --host=[unix:///var/run/docker.sock] tcp://[host:port] à connecter ou unix://[/path/to/socket] ou fd://socketfd à utiliser. Peut être spécifiés plusieurs fois
--icc=true|false Autorise les communication inter-conteneur et l'hôte non-restreint. Si désactivé, les conteneurs peuvent être liés ensemble avec l'option --link. Défaut: true
--insecure-registry=[] Active la communication au registre non-sécure.
--ip="" Adresse IP par défaut à utiliser en se connectant aux ports du conteneur. Défaut: 0.0.0.0
--ip-forward=true|false Active l'IP forwarding dans l'hôte Docker. Défaut: true. Intéragit avec l'ip forwarding dans le kernel.
--ip-masq=true|false Acive l'IP masquerading pour la plage IP du bridge. Défaut: true
--iptables=true|false Active l'ajout de règles iptables par docker. Défaut: true
--ipv6=true|false Active le support d'IPv6. Défaut: false. Docker céé un bridge avec l'adresse fe80::1.
-l, --log-level="debug|info|warn|error|fatal" Niveau de log. Défaut: info
--label="[]" Labels key=valyue du service.
--log-driver="json-file|syslog|journald|gelf|fluentd|awslogs|none" Pilote pou les logs des conteneurs. Défaut: json-file.
--log-opt=[] options spécifiques au pilote de logs.
--mtu=0 Définis le mtu des conteneurs. Défaut: 0
-p, --pidfile="" Chemin à utiliser pour le fichier PID du service. Défaut: /var/run/docker.pid
--registry-mirror=‹scheme›://‹host› Àjoute un registre miroir à utiliser pour télécharger les images. peut être spécifié plusieurs fois
-s, --storage-driver="" Force Docker à utiliser le pilote de stockage spécifique.
--selinux-enabled=true|false Active le support selinux. Défaut: false. SELinux ne support pas actuellement le pilote de stockage overlay
--storage-opt=[] Définis les options du pilote de stockage.
--tls=true|false Utilise TLS
--tlscacert=/.docker/ca.pem Spécifie les certificats d'autorité
--tlscert=/.docker/cert.pem Chemin du certificat à utiliser
--tlskey=/.docker/key.pem Chemin de la clé à utiliser
--tlsverify=true|false Utilise TLS et vérifie le paire
--userland-proxy=true|false Gère l'implémentation du proxy dans l'espace utilisateur pour les communication inter-conteneur et externes. Défaut: true
--userns-remap=default|uid:gid|user:group|user|uid Active les espaces de nom utilisateur pour les conteneurs. default créé un nouvel utilisateur et groupe.

Option de pilote de stockage

   Docker utilise des backend de stockage (appelés graphdrivers) pour créer des conteneurs en écriture depuis les images. De nombreux backends utilisent des technologies de l'OS et peuvent être configurés.

   L'options --storage-opt permet de spécifier des options pour le backend. Le seul backend qui actuellement accèpte des options est devicemapper.

   Spécifiquement pour devicemapper, le défaut est un modèle loopback qui ne nécessite aucune pré-configuration, mais est inefficace. Ne pas l'utiliser en production.

   Pour utiliser au mieux devicemapper, vous devez avoir une version récente de LVM. Utiliser lvm pour créer un pool, puis utiliser --storage-opt dm.thinpooldev pour indiquer à Docker d'utiliser ce pool pour allouer des images et des conteneurs.

dm.thinpooldev Spécifie un périphérique de stockage block à utiliser pour le pool
dm.basesize Spécifie la taile à utiliser en créant le périphérique de base, qui limite la taille des images et des conteneurs. La valeur par défaut est 10G.
dm.fs Spécifie le type de système de fichier à utiliser pour le périphérique de base. (ext4 et xfs). Défaut: ext4.
dm.mkfsarg Spécifie les arguments supplémentaire mkfs à utiliser pour la création du périphérique de base
dm.mountopt Spécifie les options de montages à utiliser en montant les périphériques.
dm.use_deferred_removal Active l'utilisation de la suppression de périphérique différé si libdm et le pilote kernel supportent ce mécanisme.
dm.use_deferred_deletion Active l'utilisation de la suppression de périphérique différé pour les périphériques pool.
dm.loopdatasize Ne pas utiliser en production. spécifie la taille à utiliser en créant le fichier loopback pour le périphérique de données.
dm.loopmetadatasize Ne pas utiliser en production. Spécifie la taille à utiliser en créant le fichier loopback pour les métadonnées.
dm.blocksize Spécifie une taille de block personnalisé. Défaut: 64K
dm.blkdiscard Active l'utilisation de blkdiscard en supprimant les périphériques devicemapper. Désactivé par défaut à cause d'une latence additionnelle.
dm.override_udev_sync_check Par défaut, le backend devicemapper tente de se synchroniser avec udev pour le kernel linux. Cette option permet de désactiver cette synchronisation.

Options de stockage en cluster

   Le service utiliser libkv pour annoncer le nœud dans le cluster. Certains backend key/value supportent TLS, et les paramètres TLS client utilisées par le service peuvent être configurés avec --cluster-store-opt:

kv.cacertfile Certificats d'autorité au format PEM
kv.certfile Certificat PEM à utiliser
kv.keyfile Clé privée PEM à utiliser

Autorisation d'accès

   L'autorisation d'accès à Docker peut être étendue par des plugins d'autorisation. Il est possible d'utiliser plusieurs plugins d'autorisation en même temps, avec l'option --autorization.
^
13 mars 2016

htmlpdflatexmanmd




docker-diff

docker-diff

Inspecter les changements dans le système de fichier d'un conteneur

Exemples

docker diff 1fdfd1f54c1b
^
13 mars 2016

htmlpdflatexmanmd




docker-events

docker-events

Affiche les événements depuis le serveur

   Récupère les information du service Docker. Les informations peuvent inclure un historique et les informations temps-réel. Les événements de conteneur reportés sont: attach, commit, copy, create, destroy, die, exec_create, exec_start, export, kill, oom, pause, rename, resize, restart, start, stop, top, unpause. Les images Docker reportent: delete, import, pull, push, tag, untag

OPTIONS

-f, --filter=[] Valeurs de filtre fournis (ex: event=stop)
--since="" Affiche tous les événements depuis le timestamp spécifié
--until="" Affiche tous les événement jusqu'au timestamp spécifié

Exemples

Écouter les événements Docker:
dockers events
Écouter les événements depuis une date donnée:
docker events --since '2015-01-28'
Afficher tous les événements générés dans les 3 dernières minutes:
docker events --since '3m'
^
13 mars 2016

htmlpdflatexmanmd




docker-exec

docker-exec

Lance une commande dans un conteneur en cours d'exécution

   La commande lancée est seulement exécutée en tant que processus principal du conteneur, et ne sera pas redémarré si le conteneur est redémarré. Si le conteneur est en pause, docker exec attend jusqu'à ce que le conteneur soit relancé

OPTIONS

-d, --detach=true|false Lance de conteneur en tâche de fond et affiche l'ID du conteneur. défaut: false
--detach-keys="" Change la séquence de touche pour détacher le conteneur. Défaut: CTRL-p CTRL-q.
--privileged=true|false Donne des priviléges étendus à ce conteneur. Défaut: false
-t, --tty=true|false Alloue un pseudo-TTY. défaut: false
-u, --user="" Définis le username ou l'UID utilisé et optionnellement le group ou GID pour la commande spécifiée
^
13 mars 2016

htmlpdflatexmanmd




docker-export

docker-export

Exporte le contenu du système de fichier d'un conteneur dans une archive tar

OPTIONS

-o, --output="" Écrit dans un fichier au lieu de STDOUT
^
13 mars 2016

htmlpdflatexmanmd




docker-history

docker-history

Affiche l'historique d'une image

OPTIONS

-H, --human=true|false Affiche les tailles et les dates au format human readable. défaut: true
--no-trunc=true|false Ne tronque par la sortie. Défaut: false
-q, --quiet=true|false Affiche seulement l'ID numérique. Défaut: false
^
13 mars 2016

htmlpdflatexmanmd




docker-images

docker-images

Lister les images stockées dans le dépôt Docker local

   Par défaut, les images intermédiaires, utilisées durant la construction, ne sont pas listées. Une partie de la sortie, par exemple l'ID de l'image, est tronquée pour des raisons d'espace. Le titre REPOSITORY pour le premier titre peut être confus. C'est essentiellement le nom de l'image. Cependant, les tags peuvent être associés avec un nom.

OPTIONS

-a, --all=true|false Affiche toutes les images. Défaut: false
--digests=true|false Affiche les digests des images. Défaut: false
-f, --filter=[] Filtre la sortie. le filtre dangling=true trouve les images inutilisées. label=com.foo=amd64 filtre les images avec une valeur com.foo à amd64.
--format="TEMPLATE" Affiche les conteneur en utilisant le template Go. (.ID, .Repository, .Tag, .Digest, .CreatedSince, CreatedAt, .Size)
--no-trunc=true|false Ne tronque pas la sortie. Défaut: false
-q, --quiet=true|false Affiche seulement les ID. Défaut: false
^
13 mars 2016

htmlpdflatexmanmd




docker-import

docker-import

Créé une image de système vide et importe le contenu d'un tarball

OPTIONS

-c, --change=[] Applique les instructions Dockerfile spécifiés (CMD|ENTRYPOINT|ENV|EXPOSE|ONBUILD|USER|VOLUME|WORKDIR)

Exemples

Importer depuis un emplacement distant:
docker import http://example.com/exampleimage.tgz example/imagerepo
Importer depuis un fichier local:
cat exampleimage.tgz | docker import - example/imagelocal
Importer avec un message commit:
cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new
Importer dan docker:
cat exampleimageV2.tgz | docker import - example/imagelocal:V-2.0
Importer depuis un répertoire local:
tar -c . | docker import - exampleimagedir
Appliquel les instruction Dockerfile spécifiés en important l'image:
tar -c . | docker import -c="ENV DEBUG true" - exampleimagedir
^
13 mars 2016

htmlpdflatexmanmd




docker-info

docker-info

Afficher des informations sur le système

Exemple

docker info
Containers: 14
    Running: 3
    Paused: 1
    Stopped: 10
Images: 52
Server Version: 1.9.0
Storage Driver: aufs
    Root Dir: /var/lib/docker/aufs
    Dirs: 80
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
    Volume: local
    Network: bridge null host
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 2 GiB

^
13 mars 2016

htmlpdflatexmanmd




docker-inspect

docker-inspect

Affiche les informations bas-niveau d'un conteneur ou d'une image

   Affiche toutes les informations disponible dans Docker pour un conteneur ou une image donnée. Par défaut, affiche dans un table JSON. Si le conteneur et l'image ont le même nom, retourne le conteneur.

OPTIONS

-f, --format="" formatte la sortie en utilisant le template Go
-s, --size Affiche la taille totale des fichiers si le type est un conteneur.
--type="container|image" Spécifie le type.

Exemples

Afficher les informations d'une image:
docker inspect --type=image rhel7
Afficher les information d'un conteneur:
docker inspect d2cc496561d6
Afficher l'adresse IP d'une instance de conteneur:
docker inspect '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' d2cc496561d6
Lister tous les ports liés:
docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -› {{(index $conf 0).HostPort}} {{end}}' d2cc496561d6
Afficher la taille d'un conteneur:
docker inspect -s d2cc496561d6
^
13 mars 2016

htmlpdflatexmanmd




docker-kill

docker-kill

Terminer un conteneur en cours d'exécution en utilisant SIGKILL ou un signal spécifié

   Le principal processus dans chaque conteneur spécifié reçoit le signal SIGKILL our le signal spécifié.

OPTIONS

-s, --signal="KILL" Envoie le signal spécifié
^
13 mars 2016

htmlpdflatexmanmd




docker-load

docker-load

Charger une image depuis une archive tar ou STDIN

OPTIONS

-i, --input="" Lit l'archive tar au lieu de STDIN.
^
13 mars 2016

htmlpdflatexmanmd




docker-login

docker-login

S'enregistre ou se logger au registre Docker

   S'enregistrer ou se logger dans un registre Docker localisé sur le serveur spécifié. On peut spécifier une URL ou un nom d'hôte. Sans spécifier de serveur, la commande utiliser le registre Docker publique (https://registry-1.docker.io/). Pour obtenir un login/password pour ce registre, créer un compte sur Docker Hub. Nécessite l'utilisation de sudo ou d'être root, excepté lorsqu'on se connecte à un service distant. L'utilisateur est ajouté au groupe docker. Cela impacte la sécurité du système. Le groupe docker est équivalent à root.

OPTIONS

-e, --email="" Email
-p, --password="" Mot de passe
-u, --username="" Nom d'utilisateur
^
13 mars 2016

htmlpdflatexmanmd




docker-logout

docker-logout

Se déconnecter d'un registre Docker

   Se déconnecter d'un registre Docker sur le serveur spécifié. L'URL peut être spécifiée par nom d'hôte.

^
13 mars 2016

htmlpdflatexmanmd




docker-logs

docker-logs

Récupère les logs présents pour un conteneur

   Cette commande ne garantie pas le temps d'exécution quand elle est combinée avec docker run. Cette commande ne fonctionne qu'avec les pilotes de log json-file et journald.

OPTIONS

-f, --follow=true|false Suit la sortie des logs. défaut: false
--since="" Affiche les logs depuis la date spécifiée
-t, --timestamps=true|false Affiche les horodatages. défaut: false
--tail="all" Affiche le nombre de ligne spécifié, à la fin des logs. défaut: all.
^
13 mars 2016

htmlpdflatexmanmd




docker-network-connect

docker-network-connect

Connecter un conteneur à un réseau

Une fois connecté, le conteneur peut communiquer avec d'autres conteneurs dans le même réseau.
docker network connect multi-host-network container1
La commande docker run --net=‹network-name› permet de faire la même chose au démarrage du conteneur
docker run -itd --net=multi-host-network --ip 172.20.88.22 --ip6 2001:db8::8822 busybox
Si spécifié, l'adresse IP du conteneur est ré-appliqué quand un conteneur stoppé est redémarré. Si l'IP est occupé, le conteneur échoue, --ip-range permet de s'assurer de trouver une ip disponible:
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network
docker network connect --ip 172.20.128.2 multi-host-network container2

^
13 mars 2016

htmlpdflatexmanmd




docker-network-create

docker-network-create

Créer un nouveau réseau

OPTIONS

--aux-address=map[] Adresses ipv4 ou ipv6 auxiliaires utilisée par le périphérique réseaux
-d, --driver=DRIVER Le pilote pour gérer le réseau ou l'overlay. Défaut: bridge
--gateway=[] passerelle IPv4 ou IPv6 pour le sous-réseaux maître
--internal Restreint l'accès externe au réseaux
--ip-range=[] Alloue une ip au conteneur dans une plage
--ipam-driver=default Pilote de gestion d'adresse ip
--ipam-opt=map[] Définis les options du pilote IPAM
-o, --opt=map[] Définis les options du pilote
--subnet=[] Sous-réseau au format CIDR qui représente un segment réseau

   Le pilote peut être bridge ou overlay, qui sont des pilotes intégrés. Un pilote tier peut également être spécifié. Sans l'option --driver, la commande créé automatiquement un bridge. En installant Docker Engine, un bridge est installé automatiquement. Ce réseau correspond au bridge docker0 sur lequel le moteur s'appuie. En lançant un nouveau conteneur avec docker run, il est automatiquement connecté à ce bridge. On ne peut pas le supprimer, mais on peut en créer de nouveaux.

   Les réseaux bridge sont des réseaux isolés sur une simple installation Engine. Pour créer un réseaux partagé avec plusieurs hôtes Docker, il faut créer un réseaux overlay. À la différence de bridge, overlay nécessite certaines conditions avant de pouvoir en créer un:

   L'accès à un magasin de clé-valeur. Engine support Consul, Etcd, et Zookeeper. Un clustre d'hôte avec une connectivité à ce store. Un Engine configuré correctement sur chaque hôte du cluster. Le service docker supporte les options suivantes pour le réseaux Docker: --cluster-store, --cluster-opt, et --cluster-advertise.

   C'est également une bonne idée, bien que non requis, d'installer Docker Swarn pour gérer le cluster. Swarn fournis une découverte sophistiquée et un gestionnaire de serveur qui peut assister l'implémentation.

Une fois les prérequis pour le réseau overlay préparé, il suffit de créer le réseau avec:
docker network create -d overlay my-multihost-network
Les noms de réseaux doivent être unique. Le service Docker tente d'identifier les conflicts de nommage mais ce n'est pas garantit.

Connecter des conteneurs

Au démarrage d'un conteneur utiliser --net pour se connecter à un réseaux. Cet exemple ajoute le conteneur busybox au réseau mynet:
docker run -itd --net=mynet busybox
Pour ajouter un conteneur à un réseau après que le conteneur soit démarré, utiliser docker network connect. Il est possible de connecter plusieurs conteneurs sur le même réseau. Une fois connectés, les conteneurs peuvent communiquer en eux.

Spécifier des options avancée

En créant un réseaux, Engine créé un sous-réseau sous le réseau par défaut. Ce sous-réseaux n'est pas une sous-division d'un réseau existant. C'est purement dans un but d'adressage ip. Il est possible de changer et de spécifier des valeurs de sous-réseau directement en utilisant l'option --subnet. sur un bridge, on peut seulement créer un simple sous-réseau:
docker network create -d bridge --subnet=192.168.0.0/16 br0
Additionnellement, on peut également spécifier les options --gateway, --ip-range, et --aux-address
network create --driver=bridge --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --gateway=172.28.5.254 br0
Si --gateway est omis, Engine en séléctionne un dans le pool. Pour les réseaux overlay et pour les plugins réseaux qui le supporte on peut créer plusieurs sous-réseauxs
docker network create -d overlay --subnet=192.168.0.0/16 --subnet=192.170.0.0/16 --gateway=192.168.0.100 --gateway=192.170.0.100 --ip-range=192.168.1.0/24 --aux-address a=192.168.1.5 --aux-address b=192.168.1.6 --aux-address a=192.170.1.5 --aux-address b=192.170.1.6 my-multihost-network

Mode réseau interne

Par défaut, en connectant un réseau à un réseau overlay, Docker connecte également un réseau bridge pour fournir la connctivité externe. Pour créer un réseau overlay isolé, spécifier l'option --internal
^
13 mars 2016

htmlpdflatexmanmd




docker-network-disconnect

docker-network-disconnect

Déconnecter un conteneur d'un réseau

   déconnecter un conteneur d'un réseau:

OPTIONS

--force Force le conteneur à ce déconnecter du réseau
^
13 mars 2016

htmlpdflatexmanmd




docker-network-inspect

docker-network-inspect

Inspecter un réseau

Retourne des informations sur un ou plusieurs réseaux. Par défaut, cette commande affiche le résultat dans un objet JSON. par exemple, si 2 conteneurs sont connectés à un réseau bridge:
sudo docker run -itd --name=container1 busybox
f2870c98fd504370fb86e59f32cd0753b1ac9b69b7d80566ffc7192a82b3ed27
sudo docker run -itd --name=container2 busybox
bda12f8922785d1f160be70736f26c1e331ab8aaf8ed8d56728508f2e2fd4727

La commande inspect affiche les conteneurs, par id:
sudo docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "b2b1a2cba717161d984383fd68218cf70bbbd17d328496885f7c921333228b0f",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": {
            "Driver": "default",
            "Config": [
                {
                 "Subnet": "172.17.42.1/16",
                 "Gateway": "172.17.42.1"
                }
            ]
        },
        "Containers": {
            "bda12f8922785d1f160be70736f26c1e331ab8aaf8ed8d56728508f2e2fd4727": {
                "Name": "container2",
                "EndpointID": "0aebb8fcd2b282abe1365979536f21ee4ceaf3ed56177c628eae9f706e00e019",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            },
            "f2870c98fd504370fb86e59f32cd0753b1ac9b69b7d80566ffc7192a82b3ed27": {
                "Name": "container1",
                "EndpointID": "a00676d9c91a96bbe5bcfb34f705387a33d7cc365bac1a29e4e9728df92d10ad",
                "MacAddress": "02:42:ac:11:00:01",
                "IPv4Address": "172.17.0.1/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
         "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        }
    }
]

Retourner les informations sur le réseau utilisateur:
docker network create simple-network
69568e6336d8c96bbf57869030919f7c69524f71183b44d80948bd3927c87f6a
docker network inspect simple-network
[
    {
        "Name": "simple-network",
        "Id": "69568e6336d8c96bbf57869030919f7c69524f71183b44d80948bd3927c87f6a",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": {
            "Driver": "default",
            "Config": [
                {
                 "Subnet": "172.22.0.0/16",
                 "Gateway": "172.22.0.1/16"
                }
            ]
        },
        "Containers": {},
        "Options": {}
    }
]

OPTIONS

-f, --format="" Formatte la sortie en utilisant le templace Go
^
13 mars 2016

htmlpdflatexmanmd




docker-network-ls

docker-network-ls

Lister les réseaux

   Liste tous les réseaux que le service connait. Inclus les réseaux connectés sur plusieurs hôte dans un cluster. L'option --no-trunc affiche l'id complet des réseaux. -f ou --filter filtre la sortie au format key=value. S'il y a plus d'un filtre, agit comme un filtre OR.

type

Le fitre type support 2 valeurs: builtin qui affiche les réseaux prédéfinis (bridge, none, host), et custom qui affiche les réseaux utilisateur. Le filtre suivant affiche les réseaux utilisateurs:
docker network ls --filter type=custom
Ce filtre permet de supprimer tous les réseaux utilisateurs:
docker network rm `docker network ls --filter type=custom -q`

Name

Le filtre name correspond à tout ou partie du nom d'un réseau. Le filtre suivant matche tous les réseaux avec un nom contenant la chaîne foobar:
docker network ls --filter name=foobar

ID

Le filtre id matche tout ou partie de l'ID d'un réseaux:
docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161

OPTIONS

-f, --filter=[] Filtre la sortie basée sur la condition fournie
--no-trunc=true|false Ne tronque pas la sortie
-q, --quiet=true|false N'affiche que les ID
^
13 mars 2016

htmlpdflatexmanmd




docker-network-rm

docker-network-rm

Supprimer un ou plusieurs

Pour supprimer un réseau, déconnecter d'abord tout conteneur attaché:
docker network rm my-network
Pour supprimer plusieurs réseaux d'un coup:
docker network rm 3695c422697f my-network

^
13 mars 2016

htmlpdflatexmanmd




docker-pause

docker-pause

Pause tous les processus dans un conteneur

   Cette commande utilise les cgroups freezer pour suspendre tous les processus dans un conteneur.

^
13 mars 2016

htmlpdflatexmanmd




docker-port

docker-port

Liste les mappages de port pour le conteneur spécifié

   Liste les mappages de port ou recherche le port publique qui est natté au port privé.

^
13 mars 2016

htmlpdflatexmanmd




docker-ps

docker-ps

Lister les conteneurs. Par défaut, ne liste que les conteneurs en cours d'exécution

OPTIONS

-a, --all=true|false Affiche tous les conteneurs. Défaut: false
-f, --filter=[] Filtre basé sur les conditions (exited=‹int›, label=‹key›, label=‹key›=‹value›, status=(created|restarting|running|paused|exited|dead), name=‹string›, id=‹ID›, before=(‹container-name›|‹container-id›), since=(‹container-name›|‹container-id›), ancestor=(‹image-name›[:tag]|‹image-id›| (image@digest)) )
--format="TEMPLATE" Formatte la sortie en utilisant le template Go
-l, --latest=true|false Affiche seulement le dernier conteneur créé. Défaut: false
-n=-1 Affiche les n derniers conteneurs créés (inclus tous les états)
--no-trunc=true|false Ne tronque pas la sortie
-q, --quiet=true|false Affiche seulement les ID. Défaut: false
-s, --size=true|false Affiche la taille de fichiers totale. Défaut: false

Exemples

Afficher tous les conteneurs:
docker ps -a
Afficher seulement les ID des conteneurs:
docker ps -a -q
Afficher seulement les ID des conteneur dont le nom est MyContainer:
docker ps -a -q --filter=name=determined_torvalds
Afficher les conteneurs avec leurs commandes:
docker ps --format "{{.ID}}: {{.Command}}"
Afficher les conteneurs avec leurs labels dans une table:
docker ps --format "table {{.ID}}\t{{.Labels}}"
Afficher les conteneurs avec leur label node dans une table:
docker ps --format 'table {{.ID}}\t{{(.Label "com.docker.swarm.node")}}'
^
13 mars 2016

htmlpdflatexmanmd




docker-pull

docker-pull

Télécharger une image ou un dépôt depuis un registre

   Cette commande récupère une images ou un dépôt depuis un registre. S'il y a plus d'une image pour un dépôt, toutse les images sont récupérée incluant les tags.

OPTIONS

-a, --all-tags=true|false Télécharge toutes les images taggées dans le dépôt. Défaut: false

Exemples

récupérer un dépôt avec plusieurs images avec tous les tags:
docker pull --all-tags fedora
Récupérer une image depuis un dépôt publique:
docker pull registry.hub.docker.com/fedora:20
^
13 mars 2016

htmlpdflatexmanmd




docker-push

docker-push

Upload une image ou un dépôt dans un registre

   Envoie une image ou un dépôt vers un registre.

Exemples

Upload une nouvelle image en spécifiant son ID et en la nommant:
docker commit c16378f943fe rhel-httpd
Puis tager l'image avec le nom d'hôte et l'IP:port du registre:
docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
Puis envoyer l'image:
docker push registry-host:5000/myadmin/rhel-httpd
Vérifier que cela a fonctionné:
docker images
^
13 mars 2016

htmlpdflatexmanmd




docker-rename

docker-rename

Renommer un conteneur

   Cette commande n'a pas d'option

^
13 mars 2016

htmlpdflatexmanmd




docker-restart

docker-restart

Redémarrer un conteneur

OPTIONS

-t, --time=10 Nombre de secondes de tentative d'arrêt avant de tuer le conteneur. Une fois tué, il est redémarré. Défaut: 10 secondes
^
13 mars 2016

htmlpdflatexmanmd




docker-rm

docker-rm

Supprimer un ou plusieurs conteneurs

Exemple

docker rm supprime un ou plusieurs conteneurs depuis un nœud hôte. Cela ne supprime pas les images. On ne peut pas supprimer un conteneur en cours d'exécution sauf avec -f.

OPTIONS

-f, --force=true|false Force la suppression d'un conteneur en cours d'exécution (utilise SIGKILL). Défaut: false
-l, --link=true|false Supprime le lien spécifié et pas le conteneur. Défaut: false
-v, --volumes=true|false Supprime les volumes associés avec le conteneur. Défaut: false

Exemples

Supprimer un conteneur en utilisant sont ID:
docker rm abebf7571666
Supprimer un conteneur et tous ses volumes associés. Noter que si un volume a été spécifié avec un nom, il n'est pas supprimé:
docker rm -v redis
^
13 mars 2016

htmlpdflatexmanmd




docker-rmi

docker-rmi

Supprimer une ou plusieurs images

Exemple

Supprime une ou plusieurs images depuis un nœud hôte. Cela ne supprime pas les images d'un registre. On ne peut pas supprimer une image d'un conteneur en cours d'exécution sauf avec -f.

OPTIONS

-f, --force=true|false Force la suppression de l'image. Défaut: false
--no-prune=true|false Ne supprime pas les parents non-taggés. Défaut: false
^
13 mars 2016

htmlpdflatexmanmd




docker-run

docker-run

Lancer une commande dans un nouveau conteneur

   Lance un processus dans un nouveau conteneur, avec son propre système de fichier, son propre réseau, et sa propre arborescence isolée. l'image qui démarre le processus peut définir des défaut qui sont liés au processus qui sera lancé dans le conteneur, le réseau à exposer, et plus, mais docker run donne un contrôle final à l'opérateur ou d'administrateur qui a lancé le conteneur depuis l'image. Pour cette raison, docker run a plus d'options que d'autres commande docker. Si l'image n'est pas déja chargée, elle est téléchargée, et toutse les dépendences, depuis le dépot, de la même manière que docker pull.

OPTIONS

-a, --attach=[] Attache à STDIN, STDOUT ou STDERR. En mode foreground.
--add-host=[] Ajoute un mappage host-to-IP personnalisé (host:ip). Ajoute une ligne à /etc/hosts. peut être spécifié plusieurs fois.
--blkio-weight=0 Poid IO entre 10 et 1000
--blkio-weight-device=[] Poid IO au format DEVICE_NAME:WEIGHT
--cpu-shares=0 Partage CPU
--cap-add=[] Ajouter des capabilities Linux
--cap-drop=[] Supprimer de capabilities Linux
--cgroup-parent="" Chemin des cgroups sous lesquels créer le conteneur. Si le chemin n'est pas absolu, le chemin est relatif aux cgroups du processus init.
--cidfile="" Écrit l'ID de conteneur dans le fichier
--cpu-period=0 Limite la période CFS
--cpuset-cpus=CPUSET-CPUS CPU dans lesquels autoriser l'exécution
--cpuset-mems="" Nœuds mémoire autorisés.
--cpu-quota=0 Limite le quota CPU CFS
-d, --detach=true|false Lance de conteneur en tâche de fond et affiche l'ID du conteneur. défaut: false
--detach-keys="" Change la séquence de touche pour détacher le conteneur. Défaut: CTRL-p CTRL-q.
--device=[] Un périphérique hôte pour le conteneur (ex --device=/dev/sdc:/dev/xvdc:run)
--device-read-bps=[] Limite le taux de lecture d'un périphérique ( ex --device-read-bps=/dev/sda:1mb)
--device-read-iops Limite le taux de lecture d'un périphérique (ex --device-read-iops=/dev/sda:1000)
--device-write-bps=[] Limite le taux d'écriture d'un périphérique ( ex --device-write-bps=/dev/sda:1mb)
--device-write-iops Limite le taux d'écriture d'un périphérique (ex --device-write-iops=/dev/sda:1000)
--dns-search=[] Définis les domaines de recherche DNS.
--dns-opt=[] Définis les options DNS
--dns=[] Définis les serveurs DNS
-e, --env=[] Définis des variables d'environnement.
--entrypoint="" Remplace l'ENTRYPOINT de l'image
--env-file=[] Line un fichier de variables d'environnements
--expose=[] Expose un port, une une plage de ports informant Docker que le conteneur écoute sur les ports spécifiés. Docker utilise cette information pour interconnecter les conteneurs en utilisant des liens et pour définir la redirection de port dans le système hôte.
--group-add=[] Ajoute des groupes additionnels à lancer
-h, --hostname="" nom d'hôte du conteneur
-i, --interactive=true|false Garde STDIN ouvert même s'il n'est pas attaché. défaut: false
--ip="" Définis l'adresse IPv4 de l'interface du conteneur, uniquement avec --net pour les réseaux utilisateurs
--ip6="" Définis l'adresse IPv6 de l'interface du conteneur, uniquement avec --net pour les réseaux utilisateurs
--ipc="" Créé un espace de nom IPC privé pour le conteneur
--isolation="default" spécifique le type de technologie d'isolation utilisée par les conteneurs
-l, --label=[] Définis les métadonnées du conteneur (ex: --label com.example.key=value)
--kernel-memory="" Limit la mémoire kernel. (0 = illimité)
--label-file=[] Lit un fichier de labels
--link=[] Ajoute un lien vers un autre conteneur sous la forme ‹nom ou id›:alias.
--log-driver="json-file|syslog|journald|gelf|fluentd|awslogs|splunk|none" Pilote de logging pour le conteneur. La commande docker logs ne fonctionne que pour les pilotes json-file et journald.
--log-opt=[] options spécifique au pilote de logging
-m, --memory="" Limite mémoire
--memory-reservation="" Limite soft
--memory-swap="LIMIT" Une valeur limite égale à la mémoire plus le swap. Doit être utilisé avec -m.
--mac-address="" L'adresse mac de conteneur
--name="" Assigne un nom au conteneur au format UUID long, UUID court, ou un nom.
--net="bridge" Définis le mode réseau pour le conteneur (bridge, none, container:‹name|id›, host, ‹network-name›|‹network-id›
--net-alias=[] ajoute un alias réseau pour le conteneur
--oom-kill-disable=true|false Active ou non le OOM Killer pour le conteneur
--oom-score-adj="" Ajustement OOM de l'hôte pour le conteneur (-1000 à 1000)
-P, --publish-all=true|false Publie tous les ports exposés aux ports aléatoire dans les interfaces de l'hôte. Défaut: false
-p, --publish=[] Publie le port d'un conteneur, ou une plage de port, à l'hôte (Format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort)
--pid=host Définis de mode PID pour le conteneur (host: utilise l'espace de nom PID de l'hôte, non sécurisé)
--uts=host Définis le mode UTS pour le conteneur (host: utilise l'espace de noms UTS dans le conteneur, non sécurisé)
--privileged=true|false Donne des priviléges étendus à ce conteneur. Défaut: false
--read-only=true|false Mounte le système de fichier racine du conteneur en lecture seule.
--restart="no" Stratégie de redémarrage quand le conteneur se termine. (no, on-failure[:max-retry], always, unless-stopped)
-rm=true|false Supprime automatiquement le conteneur quand il se termine. incompatible avec -d. défaut: false
--security-opt=[] Options de sécurité

        "label:user:USER" Définis le label utilisateur pour le conteneur
        "label:role:ROLE" Définis le label rôle pour le conteneur
        "label:type:TYPE" Définis le label type pour le conteneur
        "label:level:LEVEL" Définis le label level pour le conteneur
        "label:disable" Désactive le confinement de label pour le conteneur

--stop-signal=SIGTERM Signal pour stopper un conteneur
--shm-size="" Taille de /dev/shm. format: ‹number›‹unit›
--sig-proxy=true|false signaux proxy reçus au processus (mode non-TTY uniquement). SIGCHLD, SIGSTOP, SIGKILL ne sont pas proxifiés. Défaut: true
--memory-swappiness="" Comportement de la memory swappiness du conteneur (0 à 100)
-t, --tty=true|false Alloue un pseudo-TTY. défaut: false
--tmpfs=[] Créé un montage tmpfs
-u, --user="" Définis le username ou l'UID utilisé et optionnellement le group ou GID pour la commande spécifiée
--ulimit=[] Options ulimit
-v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]] Créé un montage. avec -v /HOST-DIR:/CONTAINER-DIR, Docker monte /HOST-DIR dans l'hôte dans /CONTAINER-DIR dans le conteneur. Si HOST-DIR est omis, Docker créé un nouveau volume dans l'hôte. par défaut, les montages sont privés (non-visibles dans l'hôte). Peut être spécifié plusieurs fois.
--volume-driver="" Pilote de volume du conteneur. Ce pilote créé les volumes spécifié soit avec l'instruction VOLUME du dockerfile, ou depuis l'option -v.
--volumes-from=[] Monte les volumes depuis les conteneurs spécifiés.
-w, --workdir="" Répertoire de travail dans le conteneur

Code de sortie

   Le code de sortie de docker run donne des information sur la raison de l'erreur du conteneur ou pourquoi il s'est terminé.

125 Si l'erreur vient du service Docker lui-même
126 Si la commande dans le conteneur ne peut être lancée
127 Si la commande dans le conteneur ne peut être trouvée
Autres code Contient le code de sortie de la commande

Exemples

Lancer un conteneur en mode lecture seule:
docker run --read-only --tmpfs /run --tmpfs /tmp -i -t fedora /bin/bash
Exposer les messages de log du conteneur dans les logs de l'hôte:
docker run -v /dev/log:/dev/log -i -t fedora /bin/bash
Attacher un ou plusieurs STDIN, STDOUT, STDERR:
docker run -a stdin -a stdout -i -t fedora /bin/bash

Lier les conteneurs

Cette section décrit comment lier les conteneur sur le réseau par défaut. La fonctionnalité link permet à plusieurs conteneurs de communiquer entre eux. Par exemple, un conteneur dont Dockerfile a exposé le port 80 peut être lancés comme suit:
docker run --name=link-test -d -i -t fedora/httpd
Un second conteneur, dans ce cas nommé linker, peut communiquer avec le conteneur httpd:
docker run -t -i --link=link-test:lt --name=linker fedora /bin/bash
Maintenant le conteneur linker et lié au conteneur link-test avec l'alias lt. Lancer la commande env dans le conteneur linker montre les valiables d'environnement:
# env
HOSTNAME=668231cb0978
TERM=xterm
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
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LT_NAME=/linker/lt
SHLVL=1
HOME=/
LT_PORT_80_TCP_ADDR=172.17.0.3
_=/usr/bin/env

Mapper les ports pour une utilisation externe

Le port exposé d'une application peut être mappée sur un port hôte en utilisant le flag -p. Par exemple, le port 80 peut être mappé au port 8080:
docker run -p 8080:80 -d -i -t fedora/httpd

Créer et monter un volume

De nombreuses application nécessitent le partage de données persistantes entre de nombreux conteneurs. Docker permet de créer un Data Volume Container que d'autres conteneurs peuvent monter. Par exemple, créer un conteneur qui contient les répertoires /var/volume1 et /tmp/volume2. L'image doit contenir ces répertoires, donc des instructions mkdir sont nécessaires:
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
Plusieurs --volumes-from vont monter les volumes de données. Et il est possible de monter les volumes qui vient d'un conteneur DATA dans un autre conteneur:
docker run --volumes-from=fedora-container1 --name=fedora-container2 -i -t fedora bash

Monter des volumes externes

Pour monter un répertoire hôte comme volume conteneur, spécifier le chemin absolue:
docker run -v /var/db:/data1 -i -t fedora bash
En utilisant SELinux, vérifier que l'hôte n'a pas connaissance de la stratégie SELinux du conteneur. Dans l'exemple suivant, SELinux est enforced, le répertoire /var/db n'est pas en écriture pour le conteneur. Au moment d'écrire ce man, la commande suivante doit être lancée pour que la stratégie SELinux soit attachée correctement au répertoire de l'hôte.
chcon -Rt svirt_sandbox_file_t /var/db

Utiliser un labeling de sécurité alternatif

--security-opt permet de changer le schéma de labelisation par défaut pour chaque conteneur. Par exemple, on peut spécifier un niveau NCS/MLS. Spécifier le niveaux dans la commande suivante 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 peut être:
docker run --security-opt label:level:TopSecret -i -t rhel7 bash
Pour désactiver le labeling de sécurité pour ce conteneur:
docker run --security-opt label:disable -i -t fedora bash
Pour resserrer la stratégie de sécurité sur les processus dans un conteneur:
docker run --security-opt label:type:svirt_apache_t -i -t centos bash
^
13 mars 2016

htmlpdflatexmanmd




docker-save

docker-save

Sauve une image dans une archive tar

   Produit un dépôt tar sur la sortie standard. Contient toutes les couches parent, et tous les tags + versions, ou spécifiés.

OPTIONS

-o, --output="" Écrit dans un fichier au lieu de la sortie standard

Exemples

Sauver toutes les images de dépôt fedora et sauver la dernière image fedora dans une autre archive:
docker save fedora › fedora-all.tar
docker save --output=fedora-latest.tar fedora:latest
^
13 mars 2016

htmlpdflatexmanmd




docker-search

docker-search

Rechercher des images dans Docker Hub

   Recherche des images qui correspondent au critère. La table d'images retournée affiche le nom, la description, et le nombre d'étoiles, si elle est officielle et si elle est automatisée.

OPTIONS

--automated=true|false Affiche seulement les builds automatisés. Défaut: false
--no-trunc=true|false Ne tronque pas la sortie. Défaut: false
-s, --stars=X Affiche seulement avec au moins X étoiles. Défaut: 0

Exemples

Recherche les images avec le terme fedora:
docker search -s 3 fedora
Rechercher les images automatisée:
docker search --automated -s 1 fedora
^
13 mars 2016

htmlpdflatexmanmd




docker-start

docker-start

Démarrer un ou plusieurs conteneurs

OPTIONS

-a, --attach=true|false Attache la sortie du conteneur à STDOUT et STDERR et transfert tous les signaux au processus. Défaut: false
--detach-keys="" Remplace la séquence de touche pour détacher un conteneur.
-i, --interactive=true|false Attache STDIN du conteneur. Défaut: false.
^
13 mars 2016

htmlpdflatexmanmd




docker-stats

docker-stats

Affiche des statistiques sur l'utilisation des ressources d'un conteneur

OPTIONS

-a, --all=true|false Affiche tous les conteneurs. Seul les conteneurs en cours d'exécution sont affichés par défaut. Défaut: false
--no-stream=true|false Désactive le monitoring des stats et n'affiche qu'un instantanné. Défaut: false
^
13 mars 2016

htmlpdflatexmanmd




docker-stop

docker-stop

Arrêter un conteneur en envoyant SIGTERM, puis SIGKILL

OPTIONS

-t, --time=10 Nombre de secondes à attendre pour que le conteneur se termine avec de le tuer. Défaut: 10 secondes
^
13 mars 2016

htmlpdflatexmanmd




docker-tag

docker-tag

Tag une image dans un dépôt

   Assigne un nouvel alias à une image dans un dépôt. Un alias réfère au nom de l'image inclant le tag optionnel après ':'.

OPTIONS

REGISTRY_HOST Nom d'ĥôte du dépôt si requis
USERNAME Nom d'utilisateur pour l'image
NAME Le nom de l'image
TAG Le tag à assigner

Exemple

Donner un nouvel alias à une image:
docker tag 0e5574283393 fedora/httpd:version1.0
idem pour un dépôt privée:
docker tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0
^
13 mars 2016

htmlpdflatexmanmd




docker-top

docker-top

Afficher les processus en cours d'exécution dans un conteneur

   Les options peuvent être une des options que l'on passerai à la commande linux ps.

^
13 mars 2016

htmlpdflatexmanmd




docker-unpause

docker-unpause

Relance tous les processus dans un conteneur en pause

   Cette commande utilise les cgroups freezer pour relancer tous les processus dans un conteneur.

^
13 mars 2016

htmlpdflatexmanmd




docker-version

docker-version

Affiche les informations de version de docker

OPTIONS

-f, --format="" Formatte la sortie en utilisant le template go donné.

Exemples

Afficher la version de Docker
docker version
Afficher la version du serveur
docker version --format '{{.Server.Version}}'
Afficher tous les champs disponibles
docker versions --format '{{json .}}'
^
13 mars 2016

htmlpdflatexmanmd




docker-volume-create

docker-volume-create

Créer un nouveau volume

Créer un nouveau volume que les conteneur peuvent utiliser. Si un nom n'est pas spécifié, Docker génère un nom aléatoire. Le volume est dabord créé, puis configuré, par exemple:
docker volume create --name hello
docker run -d -v hello:/world busybox ls /world
Le montage est créé dans le répertoire /src du conteneur. Docker ne supporte pas les chemins relatifs pour les points de montages dans le conteneur.

   Plusieurs conteneurs peuvent utiliser le même volume dans la même période de temps. C'est utile si 2 conteneurs doivent accéder à des données partagées.

Options spécifiques au pilote

Certains pilotes acceptent des options pour personnaliser la création de volume, avec l'option --opt:
docker volume create --driver fake --opt tardis=blue --opt timey=wimey
Ces options sont passées directeent au pilote. Le pilote embarqué local n'accepte aucune option.

OPTIONS

-d, --driver="local" Spécifie le pilote à utiliser
--name="" Nom pour le volume
-o, --opt=[] Options spécifiques au pilote
^
13 mars 2016

htmlpdflatexmanmd




docker-volume-inspect

docker-volume-inspect

Afficher des informations sur un volume

   Retourne des informations sur un ou plusieurs volumes. Par défaut, cette commande affiche le résultant dans un tableau JSON.

OPTIONS

-f, --format="" formatte la sortie en utilisant le template Go
^
13 mars 2016

htmlpdflatexmanmd




docker-volume-ls

docker-volume-ls

Lister les volumes

   Liste tous les volumes. --filter permet de filtrer au format key=value.

OPTIONS

-f, --filter="" permet de filtrer la sortie. peut être spécifié plusieurs fois.
-q, --quiet=true|false Affiche seulement les noms des volumes
^
13 mars 2016

htmlpdflatexmanmd




docker-volume-rm

docker-volume-rm

Supprimer un volume

Supprime un ou plusieurs volumes. Il n'est pas possible de supprimer un volume utilisé par un conteneur.
docker volume rm hello

^
13 mars 2016

htmlpdflatexmanmd




docker-wait

docker-wait

Attend qu'un conteneur s'arrête, puis affiche son code de sortie

Exemple:
docker run -d fedora sleep 99
docker wait 079b83f558a2bc

^
13 mars 2016

htmlpdflatexmanmd




Dockerfile

Dockerfile

Automatiser la création d'image Docker

   Le fichier Dockerfile est un fichier de configuration qui automatise les étapes de création d'une image Docker. C'est similaire à un Makefile. Docker lit les instructions du fichier Dockerfile et automatise les étapes pour créer l'image. Pour construire une image, créer un fichier appelé Dockerfile. Utiliser ensuite docker build en utilisant le chemin du répertoire qui contient le Dockerfile comme argument.

Format

FROM image
FROM image:tag
FROM image@digest Le jeu d'instructions FROM définis l'image de base pour les instructions suivantes. Un Dockerfile valide doit avoir l'instruction FROM en premier.

        - FROM doit être la première instruction dans le Dockerfile
        - FROM peut apparaître plusieurs fois dans un Dockerfile
        - Si aucun tag n'est donné, Docker applique le tag latest, s'il n'existe pas, retourne une erreur
        - Si aucun hash n'est donné, Docker applique le tag latest, s'il n'existe pas, retourne une erreur

MAINTAINER Définis l'auteur pour les images générées. Utile pour fournir une URL ou un email
RUN ‹command›
RUN ["executable", "param1", "param2"] Éxécuter des commandes dans une nouvelle couche en haut de l'image courante et retourne le résultat.
CMD ["executable", "param1", "param2"]`
CMD ["param1", "param2"]`
CMD command param1 param2 Il devrait y avoir seulement un CMD dans un Dockerfile. Fournis des défauts pour un conteneur. Ces défauts peuvent inclure un exécutable. Si omis, un ENTRYPOINT doit être spécifié.
LABEL ‹key›=‹value› [‹key›=‹value› ...]
LABEL ‹key›[ ‹value›] Ajoute des métadonnées à une image. Un label est une paire de clé/valeur.
EXPOSE ‹port› [‹port›...] Informe Docker que le conteneur écoute sur des ports réseaux spécifiés. Docker utilise cette information pour interconnecter les conteneurs en utilisant des liens et pour définir les redirections de port dans le système hôte.
ENV ‹key› ‹value› Définis des variables d'environnement
ADD ‹src› ‹dest›
ADD ["‹src›",... "‹dest›"] Permet de copier des fichiers et répertoires
COPY ‹src› ‹dest›
COPY ["‹src›",... "‹dest›"] Permet de copier des fichiers dans le système de fichier du conteneur.
ENTRYPOINT ["executable", "param1", "param2"]`
ENTRYPOINT command param1 param2 Permet de configurer un conteneur qui peut être lancé comme un exécutable.
VOLUME ["/data"] Créé un point de montage avec le nom spécifié et le marque comme volume monté en interne.
USER daemon Définis le username ou UID à utiliser pour les commandes suivantes.
WORKDIR /path/to/workdir Définis le répertoire courant de travail.
ARG ‹name›[=‹default value›] Définis une variable que les utilisateurs peuvent passer au builder avec docker build --build-arg.
ONBUILD [INSTRUCTION] Ajoute une instruction déclencheur à une image. Le trigger est exécuté à la fin, quand l'image est utilisée comme base pour un autre build. Docker exécute le trigger dans le contexte du flux de build, comme s'il existait immédiatement après l'instruction FROM.
^
30 juin 2013

htmlpdflatexmanmd




lxc

lxc

Présentation

Les options suivantes doivent être présentes dans le kernel:
    * General setup
    * Control Group support
-› Namespace cgroup subsystem
-› Freezer cgroup subsystem
-› Cpuset support
-› Simple CPU accounting cgroup subsystem
-› Resource counters
-› Memory resource controllers for Control Groups
    * Group CPU scheduler
-› Basis for grouping tasks (Control Groups)
    * Namespaces support
-› UTS namespace
-› IPC namespace
-› User namespace
-› Pid namespace
-› Network namespace
    * Device Drivers
    * Character devices
-› Support multiple instances of devpts
    * Network device support
-› MAC-VLAN support
-› Virtual ethernet pair device
    * Networking
    * Networking options
-› 802.1d Ethernet Bridging
    * Security options
-› File POSIX Capabilities

Spécifications

   Un conteneur est un objet où la configuration est persistante. L'application est lancée dans ce conteneur et va utiliser cette configuration. Quand un processus est lancé, le conteneur est lancé. Quand le dernier processus dans le conteneur se termine, le conteneur est stoppé. Le conteneur peut être volatile, c'est à dire créé directement avec un fichier de configuration.
^
28 novembre 2016

htmlpdflatexmanmd




lxc-2.0.5

lxc-2.0.5

Présentation

Les options suivantes doivent être présentes dans le kernel:
    * General setup
    * Control Group support
-› Namespace cgroup subsystem
-› Freezer cgroup subsystem
-› Cpuset support
-› Simple CPU accounting cgroup subsystem
-› Resource counters
-› Memory resource controllers for Control Groups
    * Group CPU scheduler
-› Basis for grouping tasks (Control Groups)
    * Namespaces support
-› UTS namespace
-› IPC namespace
-› User namespace
-› Pid namespace
-› Network namespace
    * Device Drivers
    * Character devices
-› Support multiple instances of devpts
    * Network device support
-› MAC-VLAN support
-› Virtual ethernet pair device
    * Networking
    * Networking options
-› 802.1d Ethernet Bridging
    * Security options
-› File POSIX Capabilities
Les options suivantes doivent être présentes dans le kernel:
    * General setup
    * Control Group support
-› Namespace cgroup subsystem
-› Freezer cgroup subsystem
-› Cpuset support
-› Simple CPU accounting cgroup subsystem
-› Resource counters
-› Memory resource controllers for Control Groups
    * Group CPU scheduler
-› Basis for grouping tasks (Control Groups)
    * Namespaces support
-› UTS namespace
-› IPC namespace
-› User namespace
-› Pid namespace
-› Network namespace
    * Device Drivers
    * Character devices
-› Support multiple instances of devpts
    * Network device support
-› MAC-VLAN support
-› Virtual ethernet pair device
    * Networking
    * Networking options
-› 802.1d Ethernet Bridging
    * Security options
-› File POSIX Capabilities

Spécifications

   Un conteneur est un objet isolant des ressources de l'hôte. L'application/système est lancé dans un conteneur spécifié par une configuration qui est soit initialement créé ou passé en paramètres.
^
14 octobre 2014

htmlpdflatexmanmd




lxc-attach

lxc-attach

Lance un processus dans un conteneur en cours d'exécution

OPTIONS

-a, --arch Spécifie l'architecture. Accèpte les même paramètres que l'option lxc.arch.
-e, --elevated-privileges Ne supprime pas les privilège en exécutant la commande dans le conteneur. Le nouveau processus ne sera pas ajouté au cgroup du conteneur et ses capabilities ne seront pas supprimé avant l'exécution.
-s, --namespaces Spécifie l'espace de nom à attacher, en liste pipé, ex: NETWORK|IPC. MOUNT, PID, UTSNAME, IPC, USER, NETWORK. Implique -e
-R, --remount-sys-proc$ force à remonter /proc et /sys pour refléter les contextes d'espace de nom courant.
--keep-env Conserve l'environnement courant pour les programmes attachés. Mode par défaut, mais va changer dans le future à cause de fuites d'informations dans le conteneur.
--clear-env Efface l'environnement avant d'attacher.
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Pour ajouter un nouveau shell dans un conteneur existant:
lxc-attach -n container
Pour redémarrer le service cron d'un container existant:
lxc-attach -n container -- /etc/init.d/cron restart
Désactiver eth1 d'un conteneur qui n'a pas la capability NET_ADMIN:
lxc-attach -n container -e -- /sbin/ip link delete eth1
ou utiliser -s pour utiliser les outils installés sur l'hôte en dehors du conteneur:
lxc-attach -n container -s NETWORK -- /sbin/ip link delete eth1
^
25 novembre 2016

htmlpdflatexmanmd




lxc-attach-2.0.5

lxc-attach-2.0.5

Lance un processus dans un conteneur en cours d'exécution

OPTIONS

-f, --rcfile config_file Spécifie le fichier de configuration pour configurer la virtualisation et l'isolation pour le conteneur.
-a, --arch Spécifie l'architecture. Accèpte les même paramètres que l'option lxc.arch.
-e, --elevated-privileges Ne supprime pas les privilège en exécutant la commande dans le conteneur. Le nouveau processus ne sera pas ajouté au cgroup du conteneur et ses capabilities ne seront pas supprimé avant l'exécution. Les privilèges sont séparés par un |. Accèpte CGROUP, CAP et LSM.
-s, --namespaces Spécifie l'espace de nom à attacher, en liste pipé, ex: NETWORK|IPC. MOUNT, PID, UTSNAME, IPC, USER, NETWORK. Implique -e
-R, --remount-sys-proc force à remonter /proc et /sys pour refléter les contextes d'espace de nom courant.
--keep-env Conserve l'environnement courant pour les programmes attachés. Mode par défaut, mais va changer dans le future à cause de fuites d'informations dans le conteneur.
--clear-env Efface l'environnement avant d'attacher.
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
25 novembre 2016

htmlpdflatexmanmd




lxc-autostart-2.0.5

lxc-autostart-2.0.5

démarrer/stopper/tuer des conteneur auto-démarrés

   lxc-autostart traite les conteneur avec lxc.start.auto définis. Il permet à l'utilisateur de démarrer et d'arrêter ces conteneurs dans le bon ordre, attendant le bon moment. Il supporte le filtrage par lxc.cgroup ou simplement lancer tous les conteneurs définis. Il peut également être utilisé par des outils externe en mode list où aucune action n'est effectuée et affiche la liste des conteneurs affectés.

OPTIONS

-r, --reboot Reboot du conteneur
-s, --shutdown Stoppe le conteneur
-k, --kill Tue toutes les tâches dans le conteneur
-L, --list Affiche seulement le nom du conteneur au lieu d'effectuer l'action.
-t, --timeout TIMEOUT Attend TIMEOUT secondes avant de stopper/démarrer le conteneur
-g, --group GROUP Liste des groupes à sélectionner. Peut être spécifié plusieurs fois.
-a, --all Ignore lxc.group et sélectionne tous les conteneurs auto-démarrés
-A, --ignore-auto Ignore le flag lxc.start.auto. Combiné avec -a, sélectionne tous les conteneurs dans le système.

Autostart et boot système

   La commande lxc-autostart fait partie du service LXC. Autorisé à lancer des hôtes au démarrage, il est utilisé pour sélectionner les conteneurs à démarrer dans l'ordre et le délai entre chaque démarrage quand l'hôte boot.

   Chaque conteneur peut faire partie d'un ou plusieurs groupes, ou aucun. 2 groupes sont spéciaux. 1 est le groupe NULL. L'autre est le groupe "onboot"

   Quand le système boot avec lxc, il tente d'abord de booter tous les conteneur avec lxc.start.auto == 1 qui est un membre du groupe onboot. Le démarrage dans l'ordre de lxc.start.order. Si un lxc.start.delay est spécifié il est honoré avant de démarrer le prochain conteneur. Une fois les membres du groupe onboot démarrés, le système lxc lance les conteneurs avec lxc.start.auto == 1 mais non membre du groupe onboot.

Exemple de démarrage

Démarre le groupe onboot en premier, puis le groupe NULL
-g "onboot,"
Démarre le groupe DNS, puis web, puis NULL, suivis par onboot:
-g "dns,web,,onboot"
^
14 octobre 2014

htmlpdflatexmanmd




lxc-cgroup

lxc-cgroup

Gère le cgroup associé avec un conteneur

OPTIONS

state-object Spécifie le state object name
[value] Spécifie la valeur à assigner au state-object
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Afficher les périphériques permis:
lxc-cgroup -n foo devices.list
Assigner les processeurs 0 et 3 au conteneur:
lxc-cgroup -n foo cpuset.cpus "0,3"
^
25 novembre 2016

htmlpdflatexmanmd




lxc-cgroup-2.0.5

lxc-cgroup-2.0.5

Gère le cgroup associé avec un conteneur

OPTIONS

state-object Spécifie le state object name
[value] Spécifie la valeur à assigner au state-object
-q, --quiet mode silencieux
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
--rcfile=FILE Spécifie le fichier de configuration pour la virtualisation et l'isolation

Exemples

Afficher les périphériques permis:
lxc-cgroup -n foo devices.list
Assigner les processeurs 0 et 3 au conteneur:
lxc-cgroup -n foo cpuset.cpus "0,3"
^
25 novembre 2016

htmlpdflatexmanmd




lxc-checkconfig-2.0.5

lxc-checkconfig-2.0.5

Vérifie le support lxc dans le kernel

Exemple

Vérifie le kernel courant. CONFIG peut être définis dans l'environnement
lxc-checkconfig
^
14 octobre 2014

htmlpdflatexmanmd




lxc-checkpoint

lxc-checkpoint

Vérifie le conteneur et dump son état dans un fichier.

OPTIONS

-S, --statefile=FILE Écrit l'état du conteneur dans cet fichier. est exclusif avec --statefd
-d, --statefd=FD Écrit l'état du conteneur dans le descripteur de fichier
-k, --kill Tue le conteneur après vérification. Les processus reçoivent un SIGKILL. est exclusif avec --pause
-p, --pause Mais le conteneur en pause avec la vérification
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Démarre un nouveau conteneur 123 calculant les décimales de pi:
lxc-execute -n 123 -- pi1 -d 500000
lxc-execute --name=123 -- pi1 -d 500000
pour checkpoint ce même conteneur en mode dump-death:
lxc-checkpoint -n 123 -S /share/123/chkpt1 -k
lxc-checkpoint --name=123 --statefile=/share/123/chkpt1 -k
pour vérifier le même conteneur et le mettre en pause:
lxc-checkpoint -n 123 -S /share/123/chkpt1 -p
lxc-checkpoint --name=123 -S /share/123/chkpt1 -p
^
25 novembre 2016

htmlpdflatexmanmd




lxc-config-2.0.5

lxc-config-2.0.5

Demander la configuration système lxc

OPTIONS

-l Liste toutes les clé supportées
‹item› Requêter la valeur de la clé spécifiée
^
14 octobre 2014

htmlpdflatexmanmd




lxc-console

lxc-console

Lance une console permettant de se logger dans le conteneur

   Si le service tty a été configuré et est disponible pour le conteneur spécifié comme paramètre, cette commande va lancer une console permettant de se logger dans le conteneur.

OPTIONS

[escape character] Spécifie le préfixe de séquence d'échappement à utiliser au lieu de ‹ctrl a›.
-t [ttynum] Spécifie le tty à utiliser
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
25 novembre 2016

htmlpdflatexmanmd




lxc-console-2.0.5

lxc-console-2.0.5

Lance une console permettant de se logger dans le conteneur

   Si le service tty a été configuré et est disponible pour le conteneur spécifié comme paramètre, cette commande va lancer une console permettant de se logger dans le conteneur.

OPTIONS

[escape character] Spécifie le préfixe de séquence d'échappement à utiliser au lieu de ‹ctrl a›.
-t [ttynum] Spécifie le tty à utiliser
-q, --quiet mode silencieux
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
^
25 novembre 2016

htmlpdflatexmanmd




lxc-copy-2.0.5

lxc-copy-2.0.5

Copie un conteneur existant

   lxc-copy créé et optionnellement démarre des copies de conteneurs existants. Il remplace lxc-clone et lxc-start-ephemeral. Les copies peuvent être des clones complets, dans ce cas tout le système de fichier du conteneur est simplement copié dans le nouveau conteneur. La copie peut également être un snapshot, par exemple une copie COW du conteneur original. Dans ce cas, le stockage doit supporter les snapshots (aufs, btrfs, lvm et zfs).

   si -e est spécifié un snapshot éphémère du conteneur original est créé et démarré. Les conteneur éphémères sont configurés avec lxc.ephemeral = 1 et sont détruits à l'arrêt. Si -e et -D sont spécifiés, un snapshot non éphémère est créé et démarré.

   Les conteneurs créés et démarrés avec -e peuvent avoir des montages personnalisé. Il sont spécifiés pavec -m. 3 types de montages sont supportés: aufs, bind et overlay.

OPTIONS

-N, --newname newname Nom pour la copie
-p, --newpath newpath Chemin pour la copie
-R, --rename Renomme le conteneur original
-s, --snapshot Crée un snapshot du conteneur original.
-F, --foreground Lance le snapshot en foreground
-d, --daemon Lance le snapshot en tâche de fond
-m, --mount mounttype Spécifie un montage pour un snapshot avec ses options (ex: ind=/src:/dest:ro,overlay=/src:/dest)
-B, --backingstorage backingstorage Spécifie le type de stockage à utiliser (aufs, btrfs, dir, lvm, loodp, overlay, zfs)
-L, --fssize size [unit] Spécifie la taille pour un système de fichier LVM
-D, --keepdata Avec -e, un conteneur non-éphémère est créé et démarré
-K, --keepname Le hostname du conteneur original est conservé pour la copie
-M, --keepmac L'adresse MAC du conteneur original est conservé pour la copie
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Hook de copie

   Si le conteneur copié a un ou plusieurs lxc.hook.clone, les hooks spécifiés sont appelés pour le nouveau conteneur. Les 3 premiers arguments passés au hook sont le nom du conteneur, une section 'lxc' et le type de hook (clone). La variable d'environnement LXC_ROOTFS_MOUNT donne le chemin sous lequel le système de fichier root est monté. Le chemin du fichier de configuration est stocké dans LXC_SRC_NAME, et le chemin ou le périphérique dans lequel le rootfs est localisé est dans LXC_ROOTFS_PATH.
^
10 octobre 2014

htmlpdflatexmanmd




lxc-create

lxc-create

Créer un objet système où sont stockés les informations de configuration et utilisateur

   L'objet est un répertoire crée dans/var/lib/lxc et identifié par son nom.

OPTIONS

-f config_file Spécifie le fichier de configuration
-t template Raccourci vers ur scrite lxc-template.
-B backingstore vaut dir, lvm, loop, btrfs, best

        dir (défaut) signifie que le système racine du conteneur sera un répertoire sous /var/lib/lxc/container/rootfs.
        btrfs le système racine doit être btrfs, et le conteneur sera crée dans un nouveau volume. Cela permet de créer des clones
        lvm un périphérique block lvm sera utilisé et les options disponible sont --lvname --vgname --thinpool --fstype et --fssize
        best lxc tente dans l'ordre: btrfs, zfs, lvm, dir.

-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-create-2.0.5

lxc-create-2.0.5

Créer conteneur

   lxc-create créé un objet système où sont stockés les informations de configuration et où peuvent être stockés les informations utilisateur. Le nom est utilisé pour spécifier le conteneur à utiliser avec les différentes commandes LXC. L'objet est un répertoire crée dans/var/lib/lxc et identifié par son nom.

OPTIONS

-f config_file Spécifie le fichier de configuration
-t template Raccourci vers un script lxc-template.
-B backingstore dir, lvm, loop, btrfs, zfs, rbd, ou best

        dir (défaut) signifie que le système racine du conteneur sera un répertoire sous /var/lib/lxc/container/rootfs.
        btrfs le système racine doit être btrfs, et le conteneur sera crée dans un nouveau volume. Cela permet de créer des clones
        lvm un périphérique block lvm sera utilisé et les options disponible sont --lvname --vgname --thinpool --fstype et --fssize
        best lxc tente dans l'ordre: btrfs, zfs, lvm, dir.

-- template-options Passe des options au template. voir lxc-create -t TEMPLATE -h
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
10 octobre 2014

htmlpdflatexmanmd




lxc-destroy

lxc-destroy

Supprimer un conteneur

OPTIONS

-f Si un conteneur est un cour de fonctionnement, l'arrête avant.
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
^
28 novembre 2016

htmlpdflatexmanmd




lxc-destroy-2.0.5

lxc-destroy-2.0.5

Supprimer un conteneur

OPTIONS

-f Si un conteneur est un cour de fonctionnement, l'arrête avant.
-s, --snapshots Détruit le conteneur spécifié incluant tous ses snapshots
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
25 novembre 2016

htmlpdflatexmanmd




lxc-device-2.0.5

lxc-device-2.0.5

Gère les périphériques des conteneurs en cours d'exécution

OPTIONS

-n, --name=NAME Nom du conteneur
‹action› Type d'action à effectuer, seul 'add' est actuellement supporté
‹DEVICE› Périphérique à ajouter
[NAME] Nom pour le périphérique dans le conteneur

Exemples

Créer /dev/video0 dans le conteneur p1
lxc-device -n p1 add /dev/video0
Place eth0 de l'hôte en tant que eth1 dans p1
lxc-device -n p1 add eth0 eth1
^
11 octobre 2014

htmlpdflatexmanmd




lxc-execute

lxc-execute

Lance une application dans un conteneur via un processus intermédiaire lxc-init qui aura le pid 1. lxc-init est conçu pour forwarder les signaux à la commande lancée.

OPTIONS

-f, --rcfile config_file Spécifie le fichier de configuration pour le conteneur
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-execute-2.0.5

lxc-execute-2.0.5

Lance une application dans un conteneur via un processus intermédiaire lxc-init qui aura le pid 1. lxc-init est conçu pour forwarder les signaux à la commande lancée.

OPTIONS

-f, --rcfile config_file Spécifie le fichier de configuration pour le conteneur
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
10 octobre 2014

htmlpdflatexmanmd




lxc-freeze

lxc-freeze

Met en pause les processus d'un conteneur

OPTIONS

-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-freeze-2.0.5

lxc-freeze-2.0.5

Met en pause les processus d'un conteneur

OPTIONS

-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
14 octobre 2014

htmlpdflatexmanmd




lxc-halt

lxc-halt

Arrête un conteneur sans terminer les processus. Fournis un switch au runlevel 0 dans le conteneur

OPTIONS

CONTAINER Spécifie le conteneur.
^
25 novembre 2016

htmlpdflatexmanmd




lxc-info-2.0.5

lxc-info-2.0.5

Demande des informations sur un conteneur

OPTIONS

-c, --config KEY Affiche une clé de configuration d'un conteneur. Peut être spécifié plusieurs fois
-s, --state Affiche simplement l'état du conteneur
-p, --pid Affiche simplement le pid du conteneur
-i, --ips Affiche simplement les adresses IP du conteneur
-S, --stats Affiche des statistiques du conteneur. Noter que pour des raisons de performances le kernel ne comptabilise pas la mémoire sauf si une limite est définie (ex: lxc.cgroup.memory.kmem.limit_in_bytes = number)
-H, --no-humanize Affiche les statistiques en brut.
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Afficher les informations pour foo
lxc-info -n foo
Afficher les informations pour tous les conteneurs dont le nom commence par ubuntu
lxc-info -n 'ubuntu*'
Afficher la paire veth de foo
lxc-info -n foo -c lxc.network.0.veth.pair
^
11 octobre 2014

htmlpdflatexmanmd




lxc-kill

lxc-kill

Envoie un signal au process 1 du conteneur. si utilisé sur une application lancée par lxc-execute, lxc-init le forward au pid 2

OPTIONS

--name=NAME SIGNUM Envoie SIGNUM au premier processus du conteneur
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

envoie le signal 26 au process pi1 dans le conteneur 123:
lxc-execute -n 123 -- pi1 -d 500000
lxc-kill --name=123 26
^
14 octobre 2014

htmlpdflatexmanmd




lxc-ls

lxc-ls

Lister les conteneurs existant sur le système

OPTIONS

-# Affiche une entrée par ligne (défaut quand /dev/stdout n'est pas un tty)
--active Liste uniquement les conteneurs actifs (idem à --frozen --running)
--frozen Liste seulement les conteneurs gelés
--running Liste seulement les conteneurs en cours de fonctionnement
--stopped Liste seulement les conteneurs stoppés
-f, --fancy Utilise une sortie fantaisie, en colonnes
-F, --fancy-format Liste séparé par des "," de colonnes à afficher dans la sortie fancy. La liste des champs accèpté est: name, state, ipv4, ipv6, autostart, pid, memory, ram, swap
--nesting Affiche les conteneurs imbriqués
filter (regex) Le filtre spécifié sera appliqué au nom du conteneur.

Exemples

Liste tous les conteneurs, un par ligne avec nom, état, adresse ipv4 et ipv6
lxc-ls --fancy
Lister tous les conteneurs actifs et affiche la liste dans une colonne
lxc-ls --active -1
^
25 novembre 2016

htmlpdflatexmanmd




lxc-ls-2.0.5

lxc-ls-2.0.5

Lister les conteneurs existant sur le système

OPTIONS

-1 Affiche une entrée par ligne (défaut quand la sortie n'est pas a tty)
--active Liste seulement les conteneur actifs (idem à --frozen --running)
--frozen Liste seulement les conteneurs gelés
--running Liste seulement les conteneurs en cours de fonctionnement
--stopped Liste seulement les conteneurs stoppés
-f, --fancy Utilise une sortie fantaisie, en colonnes
-F, --fancy-format Liste séparé par des "," de colonnes à afficher dans la sortie fancy. voir avec --help
-g, --groups groups Liste de groupes que le conteneur doit avoir pour être affichés
--nesting=NUM Affiche les conteneurs imbriqués. Le niveau d'imbrication à afficher peut être spécifié
--filter=regex L'expression est appliquée au nom du conteneur
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Liste tous les conteneurs, un par ligne avec nom, état, adresse ipv4 et ipv6
lxc-ls --fancy
Lister tous les conteneurs actifs et affiche la liste dans une colonne
lxc-ls --active -1
^
14 octobre 2014

htmlpdflatexmanmd




lxc-monitor

lxc-monitor

Supervise l'état des conteneurs spécifiques

OPTIONS

-Q, --quit quitte immédiatement s'il n'a pas de client au lieu d'attendre 30 secondes
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Superviser les états du conteneur foo
lxc-monitor -n foo
Superviser les états des conteneurs foo et bar
lxc-monitor -n 'foo|bar'
Superviser les états des conteneurs dont le nom commence avec 'f' ou 'b'
lxc-monitor -n '[f|b].*'
Superviser les états de tous les conteneurs
lxc-monitor -n '.*'
^
25 novembre 2016

htmlpdflatexmanmd




lxc-monitor-2.0.5

lxc-monitor-2.0.5

Supervise l'état des conteneurs spécifiques

OPTIONS

-Q, --quit Demande à lxc-monitord dans chaque lxcpath de quitter.lxc-monitord quitte immédiatement s'il n'a pas de client au lieu d'attendre 30 secondes
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Superviser les états du conteneur foo
lxc-monitor -n foo
Superviser les états des conteneurs foo et bar
lxc-monitor -n 'foo|bar'
Superviser les états des conteneurs dont le nom commence avec 'f' ou 'b'
lxc-monitor -n '[f|b].*'
Superviser les états de tous les conteneurs
lxc-monitor -n '.*'
^
14 octobre 2014

htmlpdflatexmanmd




lxc-ps

lxc-ps

Liste les processus appartenant à un conteneur spécifique

OPTIONS

--name NAME spécifie le nom du conteneur pour limiter la sortie
--lxc Limite la sortie au processus appartenant à tous le conteneur lxc
ps_options l'option est passée à la commande ps
^
10 octobre 2014

htmlpdflatexmanmd




lxc-restart

lxc-restart

Redémarre un conteneur depuis un fichier.

OPTIONS

-S, --state-file=FILE Lit l'état du conteneur dans le fichier
-d, --statefd=FD Lit l'état du conteneur dans le descripteur de fichier
-p Met le conteneur en pause après l'avoir redémarré
-f, --rcfile=config_file Spécifie le fichier de configuration pour l'isolation du conteneur.
-s KEY=VAL Assigne la valeur VAL à la variable KEY.
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Démarre un nouveau conteneur 123 calculant les décimales de pi:
lxc-execute -n 123 -- pi1 -d 500000
lxc-execute --name=123 -- pi1 -d 500000
pour checkpoint ce même conteneur en mode dump-death:
lxc-checkpoint -n 123 -S /share/123/chkpt1 -k
lxc-checkpoint --name=123 --statefile=/share/123/chkpt1 -k
Et pour le redémarrer avec un id différent:
lxc-restart -n 200 -S /share/123/chkpt1
lxc-restart --name=200 --statefile=/share/123/chkpt1
^
25 novembre 2016

htmlpdflatexmanmd




lxc-snapshot-2.0.5

lxc-snapshot-2.0.5

Snapshot un conteneur

   Les snapshots sont stockés comme conteneur snapshot sous le chemin de configuration du conteneur.

OPTIONS

-c, --comment comment-file Associe le commentaire dans le fichier spécifié avec le snapshot
-d, --destroy snapshot-name Détruit le snapshot nommé. 'ALL' détruit tous les snapshots
-L, --list Liste les snapshots existants
-C, --showcomments Affiche les commentaires dans la liste des snapshots
-r, --restore snapshot-name Restaure un snapshot, signifiant la création d'un nouveau conteneur complet, qui est une copie du snapshot
-N, --newname En restaurant un snapshot, le dernier argument optionnel si non spécifié via --newname, est le nom à utiliser pour le conteneur restauré. Si ce nom est identique au nom original du conteneur, le conteneur original sera détruit et le conteneur restauré le remplacera. Noter que supprimer le snapshot original n'est pas possible avec aufs, overlayfs ou zfs.
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
11 octobre 2014

htmlpdflatexmanmd




lxc-start

lxc-start

Lance une application dans un conteneur. Les processus et groupes de processus orphelin ne sont pas supportés avec cette commande, utiliser lxc-execute à la place.

OPTIONS

-d, --daemon Lance en tâche de fond
-p, --pidfile Crée un fichier avec le process id spécifié
-f, --rcfile config_file Fichier de Configuration pour le conteneur
-c, --console console-device spécifie un device à utiliser pour la console du conteneur, ex. /dev/tty8. Par défaut, utilise le terminal courant.
-L, --console-log console-logfile Spécifie un fichier pour logger la sortie de la console du conteneur.
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-c, --close-all-fds Si un des descripteurs de fichier est hérité, le ferme. -d implique -c
--share-net name|pid hérite un espace de nom réseau. Il continuera d'être géré pas son propriétaire original. La configuration réseau dans ce conteneur est ignorée et les scripts up/down ne sont pas exécutés.
--share-ipc name|pid Hérite d'un espace de nom IPC
--share-uts name|pid Hérite d'un espace de nom UTS
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-start-2.0.5

lxc-start-2.0.5

Lance une application dans un conteneur

OPTIONS

-d, --daemon Lance en tâche de fond
-F, --foreground Ne lance pas en tâche de fond
-p, --pidfile Crée un fichier avec le process id
-f, --rcfile config_file Fichier de Configuration pour le conteneur
-c, --console console-device spécifie un device à utiliser pour la console du conteneur, ex. /dev/tty8. Par défaut, utilise le terminal courant.
-L, --console-log console-logfile Spécifie un fichier pour logger la sortie de la console du conteneur.
-s, --define KEY=VAL Permet d'assigner des variables supplémentaires
-C, --close-all-fds Si un descripteur de fichier est hérité, le ferme. -d implique -c
--share-net name|pid hérite un espace de nom réseau. Il continuera d'être géré pas son propriétaire original. La configuration réseau dans ce conteneur est ignorée et les scripts up/down ne sont pas exécutés.
--share-ipc name|pid Hérite d'un espace de nom IPC
--share-uts name|pid Hérite d'un espace de nom UTS
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
11 octobre 2014

htmlpdflatexmanmd




lxc-stop

lxc-stop

Arrêter une application dans un conteneur

OPTIONS

-r, --reboot Redémarre de conteneur
-k, --kill Tue toutes les tâches dans le conteneur au lieu de les terminer proprement
--nokill termine les tâches proprement, mais ne détruit pas le conteneur
--nolock Évite l'utilisation d'un lxc locking, et devrait être utilisé seulement si lxc-stop est bloqué à cause d'un mauvais état système.
-W, --nowait effectue l'action demandé et quitte
-t, --timeout TIMEOUT attend TIMEOUT secondes avec de détruit brutalement le conteneur

Codes de sortie

0 Le conteneur a été stoppé avec succès
1 Un erreur s'est produite en stoppant le conteneur
2 Le conteneur spécifié existe mais n'est pas en cours de fonctionnement
^
28 novembre 2016

htmlpdflatexmanmd




lxc-stop-2.0.5

lxc-stop-2.0.5

Arrêter une application dans un conteneur

   lxc-stop reboot, éteind proprement, ou tue tous les processus dans le conteneur. Par défaut il tente d'éteindre le conteneur en envoyant le signal lxc.haltsignal (SIGPWR par défaut) au processus init du conteneur, attend 60 secondes, et quitte si le conteneur s'est arrêté, ou envoie lxc.stopsignal (SIGKILL par défaut) pour forcer l'extinction. Un reboot envoien un lxc.rebootsignal (SIGINT par défaut).

OPTIONS

-r, --reboot Redémarre de conteneur
-k, --kill Tue toutes les tâches dans le conteneur au lieu de les terminer proprement
--nokill termine les tâches proprement, mais ne détruit pas le conteneur si l'arrêt a échoué
--nolock Évite l'utilisation d'un lxc locking, et devrait être utilisé seulement si lxc-stop est bloqué à cause d'un mauvais état système.
-W, --nowait effectue l'action demandé et quitte
-t, --timeout TIMEOUT attend TIMEOUT secondes avec de détruit brutalement le conteneur

Codes de sortie

0 Le conteneur a été stoppé avec succès
1 Un erreur s'est produite en stoppant le conteneur
2 Le conteneur spécifié existe mais n'est pas en cours de fonctionnement
^
10 octobre 2014

htmlpdflatexmanmd




lxc-unfreeze

lxc-unfreeze

Résume les processus d’un conteneur

OPTIONS

-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié
^
28 novembre 2016

htmlpdflatexmanmd




lxc-unfreeze-2.0.5

lxc-unfreeze-2.0.5

Résume les processus d’un conteneur

OPTIONS

-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration
^
25 novembre 2016

htmlpdflatexmanmd




lxc-unshare-2.0.5

lxc-unshare-2.0.5

Lance un tâche dans un nouveau jeu d'espaces de noms

   lxc-unshare permet de lancer une tâche dans un jeu d'espaces de noms clonés. Principalement utilisé pour des tests. En dépit de son nom, il utilise toujours un clone au lieu de départager la nouvelle tâche avec les nouveaux namespaces.

OPTIONS

-s namespaces Spécifie les espaces de nom à attacher en liste séparé par un pipe. MOUNT, PID, UTSNAME, IPC, USER et NETWORK.
-u user Spécifie un userid pour la nouvelle tâche
-H hostname Définis le hostname dans le nouveau conteneur. Uniquement avec UTSNAME
-i interfacename Place l'interface nommée dans le conteneur. Seulement avec NETWORK
-d Met en tâche de fond
-M Monte les système de fichier par défaut (/proc, /dev/shm et /dev/mqueue) dans le conteneur. Seulement avec MOUNT

Exemples

Lancer un nouveau shell avec sont propre UTSNAME
lxc-unshare -s UTSNAME /bin/bash
Lancer un shell dans un nouvel espace réseau, pid et mount
lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
Avec 2 interfaces réseaux (lo et veth1) et le hostname 'slave'
lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H slave -i veth1 /bin/bash
^
25 novembre 2016

htmlpdflatexmanmd




lxc-user-nic-2.0.5

lxc-user-nic-2.0.5

Créer et attacher un nic à un autre namespace network

   lxc-user-nic est un setuid-root programme avec lequel les utilisateurs peuvent créer des interfaces réseau à utiliser par un conteneur lxc. Il consulte /etc/lxc/lxc-usernet pour déterminer le nombre d'interfaces l'utilisateur est autorisé à créer, et quel bridge peut être attaché. Il conserve le nombre d'interface dans /run/lxc/nics.

OPTIONS

pid pid pour la tâche dont
type Type d'interface réseau à attacher. Actuellement seul veth est supporté.
bridge Bridge auquel attacher l'interface
nicname nom de l'interface réseau
^
25 novembre 2016

htmlpdflatexmanmd




lxc-usernsexec-2.0.5

lxc-usernsexec-2.0.5

Lancer une tâche en root dans un nouvel espace de nom utilisateur

OPTIONS

-m uid-map uid map à utiliser dans l'espace de nom utilisation. Chaque map consiste en 4 valeur séparés par ':'. 1) le caractère u, g ou b (both), 2) userid, 3)userid vu dans l'hôte. 4) nombre d'id à mapper.

Exemples

lancer un shell avec des sous uid mappé dans le conteneur:
lxc-usernsexec
Lancer un shell autre que /bin/sh
lxc-usernsexec -- /bin/bash
map l'uid 1000 en 0, et root en 190000
lxc-usernsexec -m b:0:1000:1 -m b:1:190000:1 -- /bin/chown 1:1 $file
^
11 octobre 2014

htmlpdflatexmanmd




lxc-wait

lxc-wait

Attend un état de conteneur spécifique avant de se terminer

OPTIONS

-s states Spécifier l’état du conteneur
-t timeout attend timeout secondes pour l'état désiré
-P, --lxcpath=PATH Utilise un chemin alternatif (défaut: /var/lib/lxc)
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Utilise identifiant de conteneur spécifié

Exemples

Quitte quand RUNNING est atteind:
lxc-wait -n foo -s RUNNING
Quitte quand RUNNING ou STOPPED est atteind:
lxc-wait -n foo -s 'RUNNING|STOPPED'
^
28 novembre 2016

htmlpdflatexmanmd




lxc-wait-2.0.5

lxc-wait-2.0.5

Attend un état de conteneur spécifique avant de se terminer

OPTIONS

-s states Spécifier l’état du conteneur
-t timeout attend timeout secondes pour l'état désiré
-q, --quiet mode silencieux
-P, --lxcpath=PATH Chemin alternatif du conteneur. Défaut: /var/lib/lxc
-o, --logfile=FILE log dans le fichier spécifié (défaut: pas de log)
-l, --logpriority=LEVEL Priorité des log
-n, --name=NAME Nom du conteneur
--rcfile=FILE Spécifie le fichier de configuration

Exemples

Quitte quand RUNNING est atteind:
lxc-wait -n foo -s RUNNING
Quitte quand RUNNING ou STOPPED est atteind:
lxc-wait -n foo -s 'RUNNING|STOPPED'
^
25 novembre 2016

htmlpdflatexmanmd




lxc.conf-2.0.5

lxc.conf-2.0.5

Fichiers de configuration pour LXC

   La configuration du conteneur est maintenu dans le config stocké dans le répertoire du conteneur. Une configuration de base est générée à la création du conteneur avec des valeurs par défaut recommandée depuis le template choisis, plus d'autres venant du fichier /etc/lxc/default.conf ou ~/.config/lxc/default.conf pour les conteneurs non privilégiés.

Configuration système

   La configuration système est utilisée pour définir des valeurs tels que les chemins de recherche et les paramètres de stockage pour LXC.
^
25 novembre 2016

htmlpdflatexmanmd




lxc.container.conf-2.0.5

lxc.container.conf-2.0.5

Fichiers de configuration de conteneur pour LXC

   Les conteneurs linux sont toujours créé avant être utilisés. Cette création définis un jeu de ressources système à virtualiser/isoler quand un processus utilise le conteneur. Par défaut, les pid, sysv ipc et points de montage sont virtualisés et isolés. Les autres ressources système sont partagées entre les conteneurs, tant qu'ils sont explicitement définis dans la configuration.

Configuration

lxc.include Spécifie un fichier de configuration à inclure
lxc.arch Autoriser un jeu d'architectures pour le conteneur, par exemple lancer des binaires 32bits dans un hôte 64bits
lxc.utsname Spécifie le hostname pour le conteneur
lxc.haltsignal Spécifie un signal utilisé pour arrêter le conteneur (utilisé par lxc-stop) Défaut: SIGPWR
lxc.rebootsignal Spécifie un signal utilisé pour redémarrer le conteneur (utilisé par lxc-stop) Défaut: SIGINT
lxc.stopsignal Spécifie un signal utilisé pour stopper le conteneur (utilisé par lxc-stop) Défaut: SIGKILL
lxc.init_cmd Chemin absolu dans le rootfs du conteneur du binaire à utiliser comme init. Défaut: /sbin/init
lxc.init_uid UID à utiliser dans un namespace user pour init. Défaut: 0
lxc.init_gid GID à utiliser dans un namespace user pour init. Défaut: 0
lxc.ephemeral (bool) Spécifie si un conteneur est détruit à l'arrêt
lxc.network Peut être utilisé sans valeur pour supprimer toutes valeurs précédentes.
lxc.network.type Spécifie le type de réseau à utiliser pour le conteneur. Chaque fois qu'un lxc.network.type est trouvé, une nouvelle configuration réseau commence et permet de définir plusieurs types de réseaux:

        none Le conteneur partage l'espace réseau de l'hôte
        empty Ne créé que l'interface loopback
        veth Créé une paire ethernet virtuel, dont la partie dans l'hôte est attaché à un bridge.
        vlan interface vlan lié avec l'interface
        macvlan lie une interface macvlan
        phys Une interface déjà existante est assignée au conteneur

lxc.network.vlan.id Pour le type vlan, indique le numéro du vlan
lxc.network.flags Àction à prendre pour le réseau (up=active l'interface)
lxc.network.link Spécifie l'interface à utiliser pour le trafic réseau réel (type phys ou macvlan)
lxc.network.mtu mtu max pour cette interface
lxc.network.name Nom de l'interface
lxc.network.hwaddr Adresse mac pour l'interface virtuelle
lxc.network.ipv4 IPv4 de l'interface
lxc.network.ipv4.gateway passerelle de l'interface
lxc.network.ipv6 IPv6 pour l'interface
lxc.network.ipv6.gateway Passerelle ipv6 pour l'interface
lxc.network.script.up script à exécuter après la création/configuration de l'interface (côté hôte).
lxc.network.script.down script à exécuter après la avant de détruire l'interface (côté hôte).
lxc.pts Si définis, le conteneur aura une nouvelle instance de pseudo tty. La valeur spécifie le nombre de tty permis.
lxc.console.logfile Chemin vers un fichier où la sortie de la console est écrite
lxc.console Chemin vers un périphérique auquel la console est attachée. Option dangereuse.
lxc.tty Spécifie le nombre de tty à rendre disponible dans le conteneur
lxc.devttydir Spécifie un répertoire sous /dev sous lequel créer les périphériques de console du conteneur. les pty Unix98 sont créés sur l'hôte et lié dans les périphériques attendus dans le conteneur. Par défaut, il sont liés sur /dev/console et /dev/ttyN. Cela peut empêcher des misesà jours. En changeant d'emplacement sous /dev, ils seront liés symboliquement.
lxc.autodev Par défaut lxc ne créé que quelques liens symboliques dans /dev du conteneur (fd,stdin,stdout,stderr) ais ne créé pas automatiquement les entrées de périphérique. À 1, lxc monte un nouveau tmpfs sous /dev (limité à 500k) et définis les périphériques minimum requis. À 0, empêche de monter et remplir /dev
lxc.kmsg Active /dev/kmrsg comme lien vers /dev/console. Défaut: 0
lxc.mount Les points de montage sont privés au conteneur. Spécifie l'emplacement d'un fichier fstab contenant les informations de montage.
lxc.mount.entry Spécifie un point de montage correspondant à une ligne dans le fichier fstab
lxc.mount.auto Spécifie quels systèmes de fichiers kernel devraient être automatiquement montés:

        proc:mixed /proc est monté en rw, mais /proc/sys et /proc/sysrq-trigger sont montés en ro
        proc:rw /proc est monté en rw
        sys:mixed /sys en ro, /sys/devices/virtual/net en rw
        sys:ro monté en ro
        sys:rw monté en rw
        cgroup:mixed Monte un tmpfs sous /sys/fs/cgroup, créé les répertoires pour toutes les hiérarchies auquel le conteneur est ajouté, créé les sous-répertoires avec le nom du cgroup, et mount le cgroup du conteneur dans ce répertoire. Le conteneur sera capable d'écrire dans son propre cgroup mais pas les parents, vu qu'ils sont remontés en ro
        cgroup:ro tout en ro
        group:rw en rw
        cgroup-full:mixed Un peu plus simplifié que cgroup:mixed, peut laisser fuiter des information dans le conteneur.
        group-full:ro tout en ro
        cgroup-full:rw tout en rw

lxc.rootfs Emplacement du système de fichier racine pour le conteneur. Peut être un fichier image, un répertoire, ou un périphériques block. Non spécifié, partage celui de l'hôte
lxc.rootfs.mount Où monter récursivement lxc.rootfs avant le pivot.
lxc.rootfs.options Options de montage supplémentaires pour rootfs
lxc.rootfs.backend Spécifie le type de backend rootfs à utiliser (dir, zfs,...).
lxc.cgroup.[subsystem name] Spécifie la valeur cgroup à définir.
lxc.cap.drop Capabilities à supprimer dans le conteneur, sans le préfix CAP.
lxc.cap.keep Spécifie la capabilitie à conserver dans le conteneur. none supprime toutes les capabilities
lxc.aa_profile Spécifie le profile apparmor sous lequel le conteneur devrait fonctionner. unconfined désactive apparmor. unchanged conserve le profile du conteneur parent.
lxc.aa_allow_incomplete les profiles apparmor sont basés sur des chemins. Donc des restrictions de fichier nécessitent des restrictions de montage. Cependant, ces restrictions de montage ne sont pas encore implémentées dans le kernel. À 0, le conteneur n'est pas démarré si le kernel n'a pas les fonctions de montage apparmor, donc un regression après une mise à jours kernel sera détectée.
lxc.se_context Spécifie le contexte SELinux sous lequel le conteneur devrait être lancé ou unconfined_t. (ex: system_u:system_r:lxc_t:s0:c22)
lxc.seccomp Spécifie un fichier contenant la configuration seccomp à charger avant que le conteneur démarre.
lxc.id_map Un conteneur peut être démarré dans un namespace user privé avec un mappage. Contient 4 champs séparés par des espaces:

        1 'u', 'g', ou 'b' pour both
        2 L'UID/GID vu dans le namespace
        3 L'UID/GID vu dans l'hôte
        4 Le nombre d'uid/gid consécutifs à mapper

hooks

   Les hooks de conteneur sont des programmes ou des scripts qui peuvent être exécutés à divers moments dans la durée de vie d'un conteneur. Quand un hook est exécuté, des informations sont passées en argument et via les variables d'environnement:

        - Le nom du conteneur
        - Section (toujours 'lxc')
        - Type de hook (ex: 'clone' ou 'pre-mount')
        - Arguments additionnels.
        LXC_NAME Nom du conteneur
        LXC_ROOTFS_MOUNT Chemin du rootfs monté
        LXC_CONFIG_FILE Chemin du fichier de configuration de conteneur
        LXC_SRC_NAME Dans le cas d'un hook clone, c'est le nom du conteneur original
        LXC_ROOTFS_PATH valeur de lxc.rootfs pour le conteneur

lxc.hook.pre-start Un hook à lancer dans l'espace de nom de l'hôte avant que le ttys du conteneur, consoles ou mountages soient effectués.
lxc.hook.pre-mount Un hook à lancer dans l'espace de nom fs du conteneur avant que le rootfs ne soit up. Permet la manipulation du rootfs (ex: fs chiffré)
lxc.hook.mount Un hook à lancer dans l'espace de nom du conteneur après que le montage ait été effectué, mais avant le pivot_root
lxc.hook.autodev Un hook à lancer dans l'espace de nom du conteneur après que le montage ait été effectué, mais avant le pivot_root si lxc.autodev == 1. Permet d'assister le remplissage de /dev
lxc.hook.start Un hook à lancer dans l'espace de nom du conteneur immédiatement après l'exécution du init. Nécessite un programme dans le conteneur
lxc.hook.stop Un hook à lancer dans l'espace de nom de l'hôte après que le conteneur ait été éteind. Pour chaque espace de nom un argument est passé au hook contenant le type de namespace et un fichier qui peut être utilisé pour obtenir un fd vers le namespace correspondant.
lxc.hook.post-stop Un hook à lancer dans l'espace de nom de l'hôte après que le conteneur ait été stoppé.
lxc.hook.clone Un hook à lancer quand le conteneur est cloné.
lxc.hook.destroy Un hook à lancer quand le conteneur est détruit

   Des variables d'environnement sont disponible aux hooks pour fournir des informations de configuration. Toutes les variables ne sont pas valides dans tous les contextes. En particulier, tous les chemins sont relatifs au système hôte et donc non valides durant lxc.hook.start

LXC_NAME Nom du conteneur
LXC_CONFIG_FILE Chemin du fichier de configuration de conteneur
LXC_CONSOLE Chemin de la console de sortie du conteneur si non null
LXC_CONSOLE_PATH Chemin de la console de sortie de log du conteneur si non null
LXC_ROOTFS_MOUNT Chemin du rootfs monté dans l'hôte
LXC_ROOTFS_PATH Valeur de lxc.rootfs pour le conteneur
LXC_SRC_NAME Dans le cas d'un hook clone, c'est le nom du conteneur original
LXC_TARGET Seulement pour le hook stop. Vaut stop ou reboot
LXC_CGNS_AWARE Non définis, cette version de lxc ne gère pas les namespaces cgroup. Ne garantit pas que ces namespaces sont activés dans le kernel.

lxc.loglevel Niveau de log de 0 (trace) à 8 (fatal)
lxc.logfile Fichier où logger les infos
lxc.start.auto (bool) Indique si le conteneur devrait être auto-démarré.
lxc.start.delay Délai d'attente avant que le conteneur suivant ne soit démarré
lxc.start.order Un entier utilisé pour trier les conteneurs durant l'auto-démarrage
lxc.monitor.unshare Si non 0, le namespace de montage sera non partagé avec l'hôte avant l'initialisation du conteneur (avant le hook pre-start). Nécessite CAP_SYS_ADMIN.
lxc.group Clé multivalué pour placer le conteneur dans un groupe.

lxc.environment Permet de passer des variables d'environnement au conteneur. Noter que ces variables sont visibles dans l'hôte dans /proc/PID/environ

Exemples de configuration

Exemple de configuration réseau:
lxc.utsname = myhostname
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597

uid/gid mapping
lxc.id_map = u 0 100000 10000
lxc.id_map = g 0 100000 10000

cgroup
lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 1:3 rw
lxc.cgroup.devices.allow = b 8:0 rw

Exemple de configuration complexe:
lxc.utsname = complex
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 4a:49:43:49:79:bf
lxc.network.ipv4 = 10.2.3.5/24 10.2.3.255
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3597
lxc.network.ipv6 = 2003:db8:1:0:214:5432:feab:3588
lxc.network.type = macvlan
lxc.network.flags = up
lxc.network.link = eth0
lxc.network.hwaddr = 4a:49:43:49:79:bd
lxc.network.ipv4 = 10.2.3.4/24
lxc.network.ipv4 = 192.168.10.125/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3596
lxc.network.type = phys
lxc.network.flags = up
lxc.network.link = dummy0
lxc.network.hwaddr = 4a:49:43:49:79:ff
lxc.network.ipv4 = 10.2.3.6/24
lxc.network.ipv6 = 2003:db8:1:0:214:1234:fe0b:3297
lxc.cgroup.cpuset.cpus = 0,1
lxc.cgroup.cpu.shares = 1234
lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 1:3 rw
lxc.cgroup.devices.allow = b 8:0 rw
lxc.mount = /etc/fstab.complex
lxc.mount.entry = /lib /root/myrootfs/lib none ro,bind 0 0
lxc.rootfs = /mnt/rootfs.complex
lxc.cap.drop = sys_module mknod setuid net_raw
lxc.cap.drop = mac_override
^
25 novembre 2016

htmlpdflatexmanmd




lxc.system.conf-2.0.5

lxc.system.conf-2.0.5

Fichiers de configuration du système LXC

   Ce fichier est localisé dans /etc/lxc/lxc.conf ou ~/.config/lxc/lxc.conf. Ce fichier est utilisé pour définir des valeurs telles que les chemins de recherche par défaut et les paramètres de stockage pour LXC.

lxc.lxcpath Emplacement dans lequel tous les conteneur sont stockés
lxc.default_config Emplacement de la configuration du conteneur par défaut
lxc.cgroup.use liste de cgroup à définis. Si aucun n'est définis, tous les contrôleurs sont utilisés
lxc.cgroup.pattern Chaîne utilisée pour générer le chemin cgroup (ex: lxc/%n)
lxc.bdev.lvm.vg Nom du volume groupe par défaut
lxc.bdev.lvm.thin_pool nom du pool thin par défaut
lxc.bdev.zfs.root Nom du root ZFS par défaut

^
25 novembre 2016

htmlpdflatexmanmd




lxc.usernet-2.0.5

lxc.usernet-2.0.5

Administration de réseau utilisateur non-privilégié

   /etc/lxc/lxc-usernet contrôle les limites du programme lxc-user-nic pour les interfaces réseau qu'un utilisateur non-privilégié peut créer. Le fichier de configuration consiste d'entrées sous la forme:

  user|@group type bridge number

        user|@group username ou nom du groupe auquel l'entrée s'applique
        type Type de réseau autorisé. Seule veth est supporté actuellement
        bridge nom du bridge auquel les interfaces peuvent être attachés
        number Nombre d'interfaces réseau du type donné que l'utilisateur/groupe peut attacher au bridge donné.