[Docker] Anotaciones iniciales
NAS Synology
Descarga de imágenes de Docker
- Puede descargar imágenes de Docker desde la pestaña
Registro
de la aplicación Docker. De forma predeterminada, se muestran las imágenes de Docker disponibles en el registro de Docker Hub. Puede agregar otros registros de Docker y descargar imágenes de Docker desde allí también. - Para descargar una imagen de Docker desde el registro de Docker Hub, escriba su palabra clave de búsqueda (
httpd
, digamos) y haga clic en Buscar. - Se deben enumerar las imágenes de Docker que coincidieron con la palabra clave de búsqueda. Si le gusta una imagen de Docker y le gustaría saber más sobre ella, haga clic en su icono adjunto para visitar la página web oficial de la imagen de Docker.
- Si le gusta una imagen de Docker y desea descargarla, selecciónela y haga clic en Descargar.
- Seleccione la etiqueta (tag) de la imagen de Docker seleccionada en el menú desplegable que desea descargar y haga clic en Seleccionar.
- Navegue a la sección
Imagen
para ver el progreso de la descarga. Siempre que se descargue la imagen de Docker, el icono de Disco se animará. Una vez que se completa la descarga, la animación del icono del disco debería detenerse.
Gestión de imágenes
- Puede administrar las imágenes de Docker descargadas desde la sección
Imagen
de la aplicación Docker. - Exportar
- Puede exportar una imagen de Docker desde la aplicación Docker a sus recursos compartidos de Synology NAS. Para exportar una imagen de Docker seleccionela y haga clic en Exportar.
- Seleccione una carpeta ( docker-images / , digamos) de uno de sus recursos compartidos de Synology NAS ( share2 , digamos) donde le gustaría exportar la imagen de Docker y haga clic en Seleccionar.
- Una vez que se exporta la imagen de Docker, debería encontrar un nuevo archivo de almacenamiento (p.e. php.syno.tar) en la carpeta que ha exportado.
- Importar
- Si quiere, pruebe a eliminar la imagen e impórtela de nuevo. Para eliminar una imagen de Docker, seleccione la imagen de Docker que desea eliminar y haga clic en Eliminar.
- Para importar una imagen de Docker desde el archivo de imagen de Docker exportado, haga clic en
Agregar
→Agregar desde archivo
y seleccione el archivo en el sitio que lo había exportado previamente.
Gestión de registros
- De forma predeterminada, el Docker Hub del registro oficial de Docker se usa en la aplicación Docker. Por lo tanto, puede buscar y descargar todas las imágenes de Docker disponibles en Docker Hub. Eso es más que suficiente para la mayoría de las personas. Pero, si necesita agregar registros de Docker de terceros o sus propios registros de Docker, también puede hacerlo.
- Para administrar los registros de Docker, haga clic en
Configuración
en la secciónRegistro
. De forma predeterminada, tendrá los siguientes registros de Docker. El registro deDocker Hub
y el registro deAliyun Hub
. - Solo se puede seleccionar uno de cada vez. También se pueden añadir nuevos registros.
Creación de contenedores
- Para crear un contenedor Docker, navegue hasta la sección
Imagen
de la aplicación Docker . Luego, seleccione la imagen de Docker que desea usar para crear el contenedor y haga clic enIniciar
. - Escriba un nombre para el contenedor en la sección
Nombre del contenedor
. - Si desea ejecutar el contenedor como root (con privilegios de superusuario), marque la casilla
Ejecutar contenedor usando privilegios altos
. - También puede limitar el uso de CPU y memoria del contenedor. Para limitar los recursos, marque la casilla de verificación
Habilitar limitación de recursos
y configure laPrioridad de la CPU
y elLímite de memoria
según lo necesite. - Para configurar algunas configuraciones avanzadas para el contenedor, haga clic en
Configuración avanzada
. - Si desea iniciar el contenedor automáticamente cuando se inicie su Synology NAS, marque la casilla de verificación
Habilitar reinicio automático
. - Para crear un acceso directo de este contenedor en el escritorio de Synology Web GUI, marque la casilla de verificación
Crear acceso directo en el escritorio
y configúrelo según sea necesario. - Para agregar volúmenes al contenedor, haga clic en la pestaña
Volumen
de la ventanaConfiguración avanzada
. Si visita la página de Docker Hub de la imagen de Docker que está usando, debe conocer los volúmenes que necesita crear para su contenedor. Por ejemplo, estoy usando la imagen httpd Docker para crear un contenedor. En la página Docker Hub de la imagen httpd Docker, puede ver que necesito crear un volumen para el contenedor que se vincule a la carpeta/ usr / local / apache2 / htdocs
del contenedor. - Para agregar un nuevo volumen al contenedor, haga clic en
Agregar carpeta
. Se le pedirá que seleccione una carpeta que desee vincular a su contenedor. Cuando instale la aplicación Docker en su Synology NAS, se creará una nueva ventana acoplable para compartir en el volumen donde instaló la aplicación Docker. Mi consejo sería mantener sus volúmenes y otros archivos relacionados con su contenedor en su carpeta separada en el recurso compartido de la ventana acoplable. Cree una nueva carpeta en el recurso compartido de la ventana acoplable , seleccione el recurso compartido de la ventana acoplable y haga clic enCrear carpeta
. Escriba el nombre de su contenedor ( http-server-1 en mi caso) y haga clic en Aceptar .Para crear una nueva carpeta dentro de la carpeta http-server-1 / , selecciónela y haga clic en Crear carpeta . Escriba un nombre de carpeta y haga clic en Aceptar . El nombre de la carpeta debe parecerse a la ruta donde desea montar la carpeta en su contenedor. En mi caso, es htdocs ya que quiero montarlo en el directorio / usr / local / apache2 / htdocs del contenedor. Una vez que se crea la carpeta, selecciónela y haga clic en Seleccionar. Ahora, debe escribir la ruta donde desea montar la carpeta que ha seleccionado. En este caso, es el directorio / usr / local / apache2 / htdocs . Simplemente escriba la ruta de montaje y listo.
Instalación de Portainer
- Actualización del sistema:
# apt update # apt upgrade
- Instalación de Docker:
# curl -fsSL https://get.docker.com -o get-docker.sh # sh get-docker.sh # exit
- 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.
- Comprobamos:
$ docker ps
- Instalación de Docker Compose:
# apt install docker-compose
- 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
- 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
- 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
- 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
.