diff --git a/readme.org b/readme.org index b16e391..c8c9399 100644 --- a/readme.org +++ b/readme.org @@ -5,9 +5,82 @@ Este contenedor tiene el objetivo de proveer un contenedor que facilite tener un Debo resaltar el hecho de que es de *DESARROLLO* puesto que en esta configuración priorizo mostrar errores fácilmente, evitar algunos otros que requieren configuraciones extra y en general facilitar el uso en la etapa de desarrollo. Po lo mismo, no recomiendo el uso de este contenedor en entornos de producción. +* Requerimientos + +- Docker / podman + +En caso de usar podman, también se necesitara podman-compose y también puedo recomendar tener podman-docker. También puede que sea necesario reiniciar el ordenador justo luego de instalar para que inicien correctamente los controladores que requieren los contenedores. + +** Rootless + +En caso de usarlo en formato rootless (sin sudo por delante, para los neofitos), que suele ser la manera usual y más cómoda hoy en día, también es necesario permitir que los usuarios que no son root puedan bindear el puerto 80. Para ello, camos a corret este comando: + +#+begin_src bash +sudo sysctl net.ipv4.ip_unprivileged_port_start=80 +#+end_src + +Con esto sólo vamos a tener habilitado el pueto 80 hasta reinciar el PC, para hacerlo permamente hay que editar el archivo =/etc/sysctl.d/99-sysctl.conf= o el archivo =/etc/sysctl.conf= para algunas otras distros y añadimos al final esta línea: + +#+begin_src +net.ipv4.ip_unprivileged_port_start=80 +#+end_src + +Y con eso ya se podría usar el puerto 80 como rootless, hasta que el servidor se reinicie. + * Instalación -(documentación pendiente...) +Solo es necesario correr: + +#+begin_src bash +docker compose up -d +#+end_src + +O en caso de usar podman también se puede usar: + +#+begin_src bash +podman compose up -d +#+end_src + +Puede que en distros con paquetería muy vieja (Debian 12 o inferiores) sea necesario instalar podman-compose desde pip para tener la última versión (obtienes mejor compatibilidad) y el comando debe ser =podman-compose= (guión en lugar de espacio). + +** Iniciar/Detener contenedor + +Luego de "instalado", puedes solo iniciar el contenedor o detenerlo usando los comandos usuales de podman/docker + +#+begin_src bash +# Con Docker +docker start nginx # Inicia el contendor +docker stop nginx # Detiene el contenedor + +# Con podman +podman start nginx # Inicia el contendor +podman stop nginx # Detiene el contenedor +#+end_src + +** Desinstalar + +En caso de que quieras eliminar los contenedores + +#+begin_src bash +docker compose down +#+end_src + +o si tienes podman: + +#+begin_src bash +podman compose down +#+end_src + +** Mover/Copiar con datos persistentes + +Debido a que la carpeta mysql termina bajo otro nombre de usuario distintos, antes de copiar/mover los archivos, es necesario primero cambiar eso a nuestro usuario o nos dará error: + +#+begin_src bash +sudo chown -R $USER:$USER data/mysql/ +#+end_src + +Luego de eso solo es copiar/mover los archivos y volver a correr los comandos de instalación. + * Características