Skip to content

Commit

Permalink
Ansible & Docker
Browse files Browse the repository at this point in the history
  • Loading branch information
Nisamov committed Oct 14, 2024
1 parent 814208d commit c6b8ca1
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 3 deletions.
43 changes: 40 additions & 3 deletions Docker/Documentacion.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

Docker es una plataforma de código abierto que facilita el desarrollo, implementación y ejecución de aplicaciones mediante el uso de contenedores. Los contenedores son entornos ligeros y portátiles que permiten empaquetar una aplicación junto con todas sus dependencias, como bibliotecas, configuraciones y archivos necesarios para ejecutarse de manera consistente en diferentes entornos.

Características principales de Docker:
Contenedores:
### Características principales de Docker:
#### Contenedores:

Un contenedor es una unidad de software que contiene todo lo necesario para que una aplicación funcione: código, runtime, bibliotecas, y configuraciones del sistema.
A diferencia de las máquinas virtuales (VMs), los contenedores comparten el mismo kernel del sistema operativo anfitrión, lo que los hace mucho más ligeros y eficientes. Esto reduce el uso de recursos y acelera su ejecución y escalabilidad.
Expand All @@ -22,7 +22,7 @@ Dockerfile:

Un Dockerfile es un archivo de texto que contiene una serie de instrucciones que Docker utiliza para construir una imagen. En él se definen las acciones, como qué base de sistema operativo utilizar, qué dependencias instalar, cómo configurar el entorno, y qué comandos ejecutar cuando se inicie el contenedor.

Gestión eficiente de recursos:
#### Gestión eficiente de recursos:

Docker utiliza recursos de manera más eficiente que las máquinas virtuales. Como los contenedores comparten el mismo núcleo del sistema operativo, los contenedores ocupan menos espacio y se ejecutan más rápido.
Despliegue de aplicaciones:
Expand All @@ -37,3 +37,40 @@ Máquinas virtuales: Ejecutan un sistema operativo completo, junto con aplicacio

Docker: Ejecuta contenedores que comparten el mismo kernel del sistema operativo del host, lo que permite crear entornos aislados de manera más ligera y eficiente.

### Instalación
Actualizar paquetes del sistema:
```sh
sudo apt update && sudo apt upgrade -y
```
Instalar dependencias necesarias:
```sh
sudo apt install apt-transport-https ca-certificates curl software-properties-common
```
Agregar clave GPG para verificar paquetes:
```sh
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
```
Añadir repositorio ofical de docker:
```sh
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```
Actualizar paquetes para que se reconozca el repositorio de docker:
```sh
sudo apt update
```
Instalar docer:
```sh
sudo apt install docker-ce docker-ce-cli containerd.io
```
Verificación de la instalación:
```sh
sudo systemctl status docker
```
Añadir tu usuario al grupo docker (opcional):
```sh
sudo usermod -aG docker $USER
```
Probar docker:
```sh
docker run hello-world
```
35 changes: 35 additions & 0 deletions ansible/SemaphoreUI/Documentacion.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Semaphore es una interfaz web de código abierto que permite la gestion de Ansible de manera sencilla e intuitiva, por lo que es bastante conveniente su uso.

Semaphore requiere de docker para funcionar, se recomienda revisar la [documentación](../../Docker/Documentacion.md).

### Instalación:
Usamos el siguiente comando para obtener el `.deb` del repositorio en GitHub:
```sh
Expand All @@ -20,6 +22,39 @@ Para usar semahore, podemos usar:
```sh
semaphore service --config=./config.json
```
Configuración inicial para el uso de docker compose, puede ser necesario clonar el repositorio y bajar el docker:
```sh
git clone https://github.com/ansible-semaphore/semaphore.git
```
Dentro del repositorio clonado (en mi caso), creamos un directorio y creamos un fichero dentro con el siguiente contenido:
```sh
cd semaphore
mkdir docker-semaphore
```
Ceamos un fichero con el que montaremos el docker::
```sh
sudo nano docker-compose.yml
```
Dentro del fichero `.yml` ingresaremos el siguiente código:
```yml
version: "3"
services:
semaphore:
image: semaphoreui/semaphore:latest
container_name: semaphore
ports:
- "3000:3000"
environment:
- SEMAPHORE_DB=bolt
volumes:
- semaphore_data:/data
volumes:
semaphore_data:
```
Iniciar semaphore con docker compose:
```sh
docker-compose up -d
```

### Accediendo a la interfaz de Semaphore Web
Por defecto, semaphore se ejecuta en el puerto `3000`, por lo ne necesitamos habilitar ese puerto mismo para poder acceder.
Expand Down

0 comments on commit c6b8ca1

Please sign in to comment.