Si usas Fedora, seguramente de fábrica vengas utilizando
el motor de almacenamiento devicemapper
, que supuestamente es de los más estables, pero que
en la práctica tiene serios problemas de rendimiento que no parece que vayan a
solucionarse de aquí a poco.
Si ya lo configuraste con docker-storage-setup
o similar, y ahora quieres cambiar a overlay2
, sigue esta guía.
Docker recientemente decidió que era demasiado peligroso usarlo sin ser
root
, ya que escalar privilegios es algo muy sencillo e inherente al
diseño de Docker.
Ciertamente, dar acceso a cualquier usuario para comunicarse con
/var/run/docker.sock
es peligroso, pero si lo utilizas para desarrollo,
tener que usar sudo
a cada rato, con la consiguiente contraseña, es una
pesadez.
Si eres consciente de los peligros que conlleva y aún así quieres poder usar Docker
sin sudo
,
aquí están las instrucciones
(al menos en Fedora):
Conozco gente a quien le encanta Linux, pero que
siempre está reinstalándolo porque se lo ha cargado
intentando hacer algo que no sabía muy bien cómo hacer. Quizá un manazas que
se cree está aprendiendo a ser un manitas, o quizá simplemente le guste
hackear cosas. Aquí va una breve guía para quienes están en esa situación (y empiezan
a hartarse).
La imágen oficial de CentOS para Docker viene preconfigurada para no instalar la documentación al instalar paquetes. Puedes comprobarlo con:
$ docker run --rm centos grep tsflags /etc/yum.conf
Verás que te devuelve tsflags=nodocs
.
La documentación de yum.conf
nos explica lo que hace la opción tsflags.
Lo que queremos hacer es deshabilitarla al instalar ciertos paquetes. Por ejemplo
CUPS la necesita para mostrar su
index.html
. Lo instalaríamos así en nuestro
Dockerfile:
A veces tienes contratado un sistema remoto que no te permite modificar las particiones ni ampliar la RAM, pero necesitas más. La solución más sencilla sería una partición Swap, pero al no poder hacer particiones... ¿Qué puedes hacer? Pues un fichero Swap.
Gracias al Swap FAQ de Ubuntu os pongo una guía bien sencilla (sirve para cualquier distribución).
Me he tirado muchísimo tiempo tratando de identificar la fuente de un error que tenía en una máquina que trabaja con Windows 2008 Server R2 virtualizada en un VMWare ESXi.
El proceso System (el núcleo del sistema) estaba consumiendo tanta CPU que no dejaba prácticamente nada para los usuarios, y estos experimentaban interminables ralentizaciones.
Normalmente, cuando descubres Docker, te pones a bajar y probar imágenes como loco, a construir algunas que no funcionan bien... Al final se te queda una caché de demasiados GBi sin usar.
El problema es que al clonar perdemos la conexión a Internet porque VMWare nos asigna una tarjeta de red con diferente UUID y MAC que la que tenía la máquina original. También podría suceder si cambias la tarjeta de red en una máquina física. Síntomas: # ifup eth0 El dispositivo eth0 no parece estar presente, retrasando la inicializaciónSolución: # rm -f /etc/udev/rules.d/70-persistent-net.rules # nano /etc/sysconfig/network-scripts/ifcfg-eth0Ahí borra o comenta las líneas UUID y HWADDR, y guarda.
Uno podría pensar que son compatibles, pero no lo son. Necesitas realizar una importación. Pasos a seguir: Guarda copias de seguridad de todo lo que no puedas perder, por si algo fallara. Accede a tu antiguo VS2 (VMWare Server2) y elimina cualquier snapshot que haya en la máquina virtual. Copia los discos duros virtuales (*.vmdk) desde el VS2 hasta tu nuevo VE5 (VMWare ESXi5).
Conecto una máquina virtual VirtualBoxcorriendo en un anfitrión Windows XPa un adaptador de red de puente, reinicio el invitado (un CentOS), y obtengo este error: Fallo al abrir una sesión para la máquina virtual centos. Failed to open/create the internal network 'HostInterfaceNetworking-Intel(R) PRO/100 VE Network Connection' (VERR_INTNET_FLT_IF_NOT_FOUND). Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND). Código Resultado: E_FAIL (0x80004005) Componente: Console Interfaz: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392} Para resolverlo encuentro una solución muy tonta, pero que funciona: En el anfitrión Windows, ve a Panel de control -> Conexiones de red.