\documentclass[12pt,a4paper]{article} \usepackage[spanish]{babel} \usepackage[ddmmyyyy]{datetime} \usepackage{hyperref} \usepackage{graphicx} \title{Ejercicio IV: Docker} \author{Nicolás A. Ortega Froysa} \begin{document} \maketitle \pagebreak \section{Hoja De Control Del Documento} \begin{table}[h!] \begin{center} \caption{Documento/Archivo} \label{tab:document} \begin{tabular}{|l|c|l|c|} \hline {\bf Fecha Última Modificación} & \today & {\bf Versión/Revisión} & v01r02 \\ \hline {\bf Fecha Creación} & 10/11/2021 & \hfill & \hfill \\ \hline {\bf Fecha Finalización} & \today & \hfill & \hfill \\ \hline \end{tabular} \end{center} \end{table} \begin{table}[h!] \begin{center} \caption{Registro De Cambios} \label{tab:registro-cambios} \begin{tabular}{|c|c|c|} \hline {\bf Versión/Revisión} & {\bf Página(s)} & {\bf Descripción} \\ \hline v01r01 & Todas & Creación y elaboración del documento. \\ \hline v01r02 & 3-4 & Detallado de instalación y primer docker. \\ \hline \end{tabular} \end{center} \end{table} \begin{table}[h!] \begin{center} \caption{Autores Del Documento} \label{tab:autores} \begin{tabular}{|c|c|} \hline {\bf Apellidos, Nombre} & {\bf Curso} \\ \hline Ortega Froysa, Nicolás Andrés & 1 \\ \hline \end{tabular} \end{center} \end{table} \begin{table}[h!] \begin{center} \begin{tabular}{|p{4cm}|p{4cm}|p{4cm}|} \hline {\bf Preparado} & {\bf Revisado} & {\bf Aprobado} \\ \hline Ortega Froysa, Nicolás Andrés & \hfill & \hfill \\ \hline \end{tabular} \end{center} \end{table} \pagebreak \section{Instalación de Docker} Para poder instalar Docker podemos instalarlo en una máquina de arquitectura x86--64, ARM, s390x, y ppc64le, y de sistema operativo Linux, Windows, o macOS. Para esta práctica se usará una distribución de Linux denominada ArchLinux en la arquitectura ARM (aunque realmente los comandos serán los mismos en cualquier sistema de ArchLinux). ArchLinux se puede instalar siguiendo las instrucciones de la guía de instalación de ArchLinux en su Wiki.\footnotemark \footnotetext{\url{https://wiki.archlinux.org/title/Installation\_guide}} Cuando ya se tiene ArchLinux instalado, podemos instalar Docker fácilmente desde la línea de comando con el comando \texttt{pacman -S docker}. Esto instalará el programa de docker y todas sus dependencias, mas siendo ArchLinux no se inicializa automáticamente el servicio de Docker, así que es necesario iniciarlo manualmente. Suponiendo que estamos en un sistema que use systemd, podemos hacer esto mediante el comendo \texttt{systemctl start docker}. Si queremos que se inicialice al iniciar el sistema operativo, podemos ejecutar adicionalmente el comando \texttt{systemctl enable docker}. \section{Primer Contenedor: Hello World} Al tenerlo corriendo de fondo ya podemos empezar a tratar con él. Esto se hace por medio del comando \texttt{docker}. Para usarlo es necesario ejecutar como superusuario, que se puede hacer o cambiando al usuario \texttt{root}, o añadiendo \texttt{sudo} antes de todos los comandos. También existe la opción de añadir el usuario a un grupo especial, \texttt{docker}. Esto se puede hacer por medio del comando \texttt{usermod -aG docker }, donde \texttt{} es el nombre del usuario actual que queremos añadir al grupo. Este comando también se tiene que ejecutar como superusuario (y por lo tanto debe de ser \texttt{root} o usar \texttt{sudo}). Si ejecutamos el comando \texttt{docker image ls} podemos ver qué imágenes tenemos disponibles localmente en la máquina, que recién instalado no debería de haber ninguna. También podemos usar \texttt{docker ps -a} para ver qué contenedores tenemos corriendo. Esto nos servirá luego para gestionar los contenedores y las imágenes locales. \begin{figure} \centering \includegraphics[width=0.65\linewidth]{imgs/04-hello-world-docker.png} \caption{Ejecución del container \texttt{hello-world}.} \label{fig:hello-world-docker} \end{figure} Ahora, para descargar e inicializar un contenedor lo hacemos directamente pidiendo que Docker corra la imagen que nos interesa. Para empezar usaremos la imagen \texttt{hello-world}. Para hacer esto ejecutamos el comando \texttt{docker run hello-world} y nos debe de salir un mensaje indicando que se ha ejecutado correctamente (figura \ref{fig:hello-world-docker}). Ahora, si volvemos a ejecutar el comando \texttt{docker ps -a}, nos mostrará que existe un nuevo contenedor en ejecución. Además, al ejecutar \texttt{docker image ls} nos muestra que se ha descargado además la imagen \texttt{hello-world}. % TODO: mention changing bitnami/apache for httpd \pagebreak \section{Derechos de Autor y Licencia} Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa \\ Este documento se distribuye bajo los términos y condiciones de la licencia Creative Commons Attribution No Derivatives 4.0 International. \end{document}