135 lines
4.9 KiB
TeX
135 lines
4.9 KiB
TeX
\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 <usuario>}, donde \texttt{<usuario>} 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 <nicolas@ortegas.org>
|
|
\\
|
|
Este documento se distribuye bajo los términos y condiciones de la licencia
|
|
Creative Commons Attribution No Derivatives 4.0 International.
|
|
|
|
\end{document}
|