Entre su documentación masiva, su función de redacción ligera de usar y su compatibilidad con miles de imágenes propias y de terceros, Docker es el mejor tiempo de ejecución de contenedores para los recién llegados al ecosistema de autohospedaje. Pero cuando eres un completo principiante, las peculiaridades de Docker pueden tomarte desprevenido y, si no tienes cuidado, puedes terminar cometiendo un montón de errores mientras creas nuevos contenedores para tus aventuras.
5 comandos simples de Docker que todo principiante en autohospedaje debería conocer
Domine la implementación de contenedores con algunos comandos
Implementar contenedores con privilegios de root
Dockers admite operaciones sin raíz
Cuando instala Docker Engine en una máquina nueva, deberá usar privilegios sudo al realizar cualquier argumento que requiera este tiempo de ejecución de contenedor. De lo contrario, el terminal mostraría un error porque su cuenta de becario no tiene los permisos adecuados para conectarse al demonio Docker solo raíz. Cuando eres principiante, puedes sentirte tentado a otorgar ataque sudo a tus comandos Docker para evitar este problema, pero hacerlo hace que el host sea más endeble a problemas de ascenso de privilegios y escape de contenedores.
Cubo que Docker admite operaciones sin raíz, puede tener la llave de la despensa su cantera de aplicaciones autohospedadas sin condición de ataque a nivel de administrador. El dockerd-rootless-setuptool.sh El script facilita la facultad del modo sin raíz, y la única compensación es que no podrá exponer puertos privilegiados (cualquier cosa por debajo del puerto 1024) sin comandos adicionales. Diablos, recomiendo habilitar el modo sin raíz tan pronto como instale este tiempo de ejecución de contenedor en su servidor doméstico.
Provocar implementaciones fallidas al asignar el mismo puerto de host a varios contenedores
solo corre ventana acoplable ps antiguamente de activar una aplicación
Ya sea que confíes en ejecución de la ventana acoplable comandos o utilice la sencilla función Redactar para implementar sus contenedores, definitivamente se habrá topado con asignaciones de puertos. Básicamente, es un proceso que conecta los puertos físicos de su máquina host con los que existen interiormente de un contenedor. ¿El problema? Puede tener los mismos números de puerto en el banda del contenedor, pero tendrá que asignarlos a diferentes puertos en el servidor Docker. Pero cuando eres principiante, es ligera confundirse acerca de qué banda corresponde al host o al contenedor, y probablemente terminarás con una implementación fallida si no tienes cuidado.
Como relato, el número a la izquierda de los dos puntos (:) representa el puerto huésped, mientras que el número a su derecha apunta al puerto en el extremo del contenedor. Si no tengo una instancia de Portainer ejecutándose en mis servidores Docker, ejecuto el comando docker ps para confirmar si el puerto host que deseo conectar con un nuevo contenedor no está acaparado por una aplicación antigua. En caso de que ya esté en uso, simplemente edito el valencia antiguamente de los dos puntos y accedo a la interfaz de becario web del contenedor con el número de puerto recién asignado.
No crear volúmenes persistentes para servicios esenciales.
O olvidarse de hacer una copia de seguridad posteriormente
Si tiene un contenedor casual sin montajes vinculados, todos los datos que haya escrito en él se perderán en el momento en que lo suspensión. Esto puede ser un gran problema para las bases de datos, las herramientas de filial de archivos, los servicios de respaldo y prácticamente cualquier contenedor donde desee que los datos permanezcan incluso posteriormente de un reinicio. Es por eso que se supone que debes crear montajes vinculados o volúmenes persistentes para servicios esenciales con el –volumen argumento seguido de una ruta de directorio para su almacenamiento persistente.
Igualmente he notado que los recién llegados cometen otro error atroz con sus monturas vinculantes. Los servidores domésticos y, por extensión, los contenedores Docker, son asaz experimentales y es ligera perder todos los datos con un solo error. Como tal, querrá hacer una copia de seguridad de los volúmenes de almacenamiento de los contenedores esenciales o pasar el aventura de que su pila de aplicaciones cuidadosamente ensamblada sea endeble a experimentos fallidos.
Dejar volúmenes sin usar al retirar contenedores
A menos que quisieras dejarlos antes
¿Recuerda que dije que los montajes vinculados garantizan que sus datos permanezcan en el host incluso cuando el contenedor ya no esté eficaz? Bueno, si intentas eliminar tu servicio autohospedado con docker rm nombre_contenedor cuando haya terminado de modificarlo, su masa persistente permanecerá en su host Docker.
Si tiende a ejecutar contenedores Docker interiormente de máquinas virtuales como lo hago yo, puede terminar ahogando su máquina host con los datos que dejan las aplicaciones antiguas. Por lo tanto, querrás ejecutar el masa acoplable rm nombre_volumen ordene o elimine estos directorios de almacenamiento manualmente a través de Portainer, Docker Desktop u otra útil GUI. Ya que estamos en el tema, ciertas imágenes de contenedores pueden amontonar cientos de megabytes de espacio, por lo que es posible que desees borrar imágenes obsoletas y colgantes de vez en cuando ejecutando poda de imagen acoplable.
Olvidarse de desempolvar contenedores
O peor aún, configurar actualizaciones automáticas para herramientas de delegación crítica
Ya que estamos en el tema de las imágenes de contenedores, la mayoría de las aplicaciones populares autohospedadas suelen acoger nuevas actualizaciones. Pero cuando los ejecuta interiormente de contenedores, no podrá obtener a las nuevas funciones a menos que las actualice con nuevas imágenes, y este proceso puede volverse asaz engorroso si intenta desempolvar toda su pila manualmente.
Si tiene Watchtower (o sus versiones bifurcadas), puede automatizar el proceso de aggiornamento del contenedor. O incluso puede configurar la función de aggiornamento cibernética con What’s Up Docker, aunque no recomendaría hacerlo para servicios autohospedados importantes. Esto se debe a que las imágenes defectuosas no son infrecuentes y, regalado que las plataformas de automatización no tienen forma de repasar si las imágenes actualizadas funcionan como se retraso, podría terminar con un conjunto de servicios roto si tiene mucha mala suerte. Personalmente, confío en los activadores de alerta de WUD para acoger notificaciones sobre nuevas imágenes de contenedores antiguamente de dar el conocido bueno, en área de reconocer de la plataforma de automatización.
Un par de errores más que debes evitar cuando eres nuevo en Docker
Con la profundidad de la refugio del conejo Docker, esta nómina está acullá de terminar. Está aceptablemente retar con diferentes contenedores, pero debes evitar el uso de imágenes no verificadas de fuentes dudosas. Si está intentando tantear con servicios exigentes en un sistema de serie víctima, querrá amojonar el consumo de capital de su pila de contenedores manualmente o rivalizar con un servidor que no avala.
Las disposiciones de incorporación disponibilidad de Docker Swarm pueden parecer tentadoras y, sinceramente, es una plataforma de orquestación ordenada, solo si tiene la cantidad correcta de nodos de alojamiento de contenedores. Técnicamente, podría ejecutar una configuración Swarm con solo dos nodos, pero implica un par de soluciones alternativas y recomendaría utilizar al menos tres de ellas para evitar problemas de quórum.
5 trucos de Docker Compose que hicieron que mi servidor doméstico fuera más confiable
Una colección de consejos y trucos que mejoraron mi serie Docker Compose





