\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{dim. mars 13 16:43:32 CET 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={docker-build},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Construire une image depuis le code source},
CreationDate={D:20160313164332},
ModDate={D:20160313164332},
Keywords={docker;containers;lxc}
}}
\begin{document}
 
\begin{center}
{\Huge docker-build }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Construire une image depuis le code source}
 
\vspace{10mm}
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\hspace{1mm}  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.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -f, --file=PATH/Dockerfile]{Chemin du fichier Dockerfile à utiliser.}
\item[\hspace{1mm} --build-arg=variable]{Nom et valeur d'un buildarg. Docker les utilise comme contexte d'environnement via l'instruction RUN du dockerfile.}
\item[\hspace{1mm} --force-rm=true|false]{Supprime les conteneurs intermédiaires, même après des constructions échouées. défaut: false}
\item[\hspace{1mm} --isolation="default"]{spécifique le type de technologie d'isolation utilisée par les conteneurs}
\item[\hspace{1mm} --no-cache=true|false]{Ne pas utiliser de cache pour construire l'image. Défaut: false}
\item[\hspace{1mm} --pull-true|false]{Tente de récupérer une version plus récente de l'image. défaut: false}
\item[\hspace{1mm} -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}
\item[\hspace{1mm} --rm=true|false]{Supprime les conteneurs intermédiaire en cas de réussite. Défaut: true.}
\item[\hspace{1mm} -t, --tag=""]{Noms de dépôts (et optionnellement avec tag) à appliquer à l'image résultante en cas de succès.}
\item[\hspace{1mm} -m, --memory=MEMORY]{Limite mémoire}
\item[\hspace{1mm} --memory-swap="LIMIT"]{Une valeur limite égale à la mémoire plus le swap. Doit être utilisé avec -m.}
\item[\hspace{1mm} --shm-size=""]{Taille de /dev/shm. format: <number><unit>}
\item[\hspace{1mm} --cpu-shares=0]{Partage CPU}
\item[\hspace{1mm} --cpu-period=0]{Limite la période CFS}
\item[\hspace{1mm} --cpu-quota=0]{Lisite le quota CPU CFS}
\item[\hspace{1mm} --cpuset-mems=""]{Nœuds mémoire autorisés.}
\item[\hspace{1mm} --cpuset-cpus=CPUSET-CPUS]{CPU dans lesquels autoriser l'exécution}
\item[\hspace{1mm} --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.}
\item[\hspace{1mm} --ulimit=\texttt{[}\texttt{]}]{Options ulimit}
\item[\hspace{1mm} -v|--volume\texttt{[}=\texttt{[}\texttt{[}HOST-DIR:\texttt{]}CONTAINER-DIR\texttt{[}:OPTIONS\texttt{]}\texttt{]}\texttt{]}]{}
\end{description}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Construire une image en utilisant un Dockerfile dans le répertoire courant: \\
\hspace{1mm} \textbf{docker build .} \\
\hspace{1mm} Construire une image et nommer cette image \\
\hspace{1mm} \textbf{docker build -t myimage .} \\
\hspace{1mm} Une meilleur approche est de nommer le répertoire, nom et tag: \\
\hspace{1mm} \textbf{docker build -t fedora/jboss:1.0} \\
\hspace{1mm} Construire une image avec une URL: \\
\hspace{1mm} \textbf{docker build github.com/scollier/purpletest} \\
\hspace{1mm} Construire une image en utilisant une URL dans un contexte tar \\
\hspace{1mm} \textbf{docker build -f dev/Dockerfile https://10.10.10.1/docker/context.tar.gz} \\
\end{flushleft}
\end{document}
