Tabla de Contenidos

[Docker] Anotaciones iniciales

NAS Synology

Descarga de imágenes de Docker

Gestión de imágenes

Gestión de registros

Creación de contenedores

Instalación de Portainer

  1. Actualización del sistema:
    # apt update
    # apt upgrade
  2. Instalación de Docker:
    # curl -fsSL https://get.docker.com -o get-docker.sh
    # sh get-docker.sh
    # exit
  3. Permitir al usuario ejecutar cualquier contenedor Docker:
    $ sudo usermod -aG docker $USER
    $ exit
    $ logout

    Nos hemos salido de la sesión para que al iniciarla de nuevo tengamos actualizados los permisos.

  4. Comprobamos:
    $ docker ps
  5. Instalación de Docker Compose:
    # apt install docker-compose
  6. Instalación de Portainer:
    # docker volume create portainer_data
    # docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
    >    --restart=always \
    >    -v /var/run/docker.sock:/var/run/docker.sock \
    >    -v portainer_data:/data \
    >    portainer/portainer-ce:latest
  7. Creación de carpetas para las configuraciones de los containers:
    sudo mkdir /docker
    sudo chown root.docker /docker
    sudo chmod 774 /docker

    Hasta aquí lo básico para poder manejar los contenedores.

Instalación de Home Assistant

  1. Estructura del stack Docker Compose cogido de aquí en el enlace que pone Docker compose:
    version: '3'
    services:
      homeassistant:
        container_name: homeassistant
        image: "ghcr.io/home-assistant/home-assistant:stable"
        volumes:
          - /PATH_TO_YOUR_CONFIG:/config
          - /etc/localtime:/etc/localtime:ro
          - /run/dbus:/run/dbus:ro
        restart: unless-stopped
        privileged: true
        network_mode: host

    Donde en PATH_TO_YOUR_CONFIG pondremos la carpeta donde estará homeassistant. Para ello en el NAS creo una carpeta dentro de la carpeta docker para homeassistant, luego la estructura del stack Docker Compose será:

    version: '3'
    services:
      homeassistant:
        container_name: homeassistant
        image: "ghcr.io/home-assistant/home-assistant:stable"
        volumes:
          - /volume1/docker/homeassistant:/config
          - /etc/localtime:/etc/localtime:ro
          - /run/dbus:/run/dbus:ro
        restart: unless-stopped
        privileged: true
        network_mode: host

    Y le damos al botón Deploy the stack. Una vez credo el stack, aparecerá un nuevo contenedor funcionando, el del homeassistant. Para acceder a él usaremos el puerto 8123.

Instalación de Node Red

  1. Volvemos a Portainer y editamos nuestro stack, añadiendo al final del script una nueva configuración para node-red. Previamente habremos creado como en el contenedor anterior una carpeta para él:
      node-red:
        image: nodered/node-red:latest
        environment:
          - TZ=Europe/Amsterdam
        ports:
          - "1880:1880"
        volumes:
          - /volume1/docker/nodered:/data
    

    Y lo verificamos conectándonos por el puerto que hemos especificado, en este caso el 1880.