Soy nuevo en Docker e intento seguir este tutorial para configurar MemSQL desde una imagen de Docker: http://docs.memsql.com/4.0/setup/docker/ . Estoy en una Mac, y los usos del tutorial boot2dockerparecen haber quedado obsoletos.
La máquina virtual necesita 4 GB de memoria para funcionar. El tutorial especifica cómo hacer esto, boot2dockerpero no puedo encontrar una manera de hacerlo con la caja de herramientas docker-machine / docker.
Aquí está el comando que estoy usando y el error que obtengo al intentar seguir el tutorial sin alterar la configuración de boot2docker.
docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.
macos
docker
virtualbox
docker-machine
memsql
DJ Elbow
fuente
fuente

check-systemprograma ( github.com/memsql/memsql-docker-quickstart/blob/master/… ), veo estas líneas que determinarían este error.ONE_MB = 1024 ** 2,virtual_memory = psutil.virtual_memory(),if virtual_memory.total < ONE_MB * 3700: sys.stderr.write("Error: MemSQL requires at least 4 GB of memory to run.\n").Puede hacerlo a través de la línea de comandos. Por ejemplo, para cambiar la máquina de la 1cpu / 2048MB RAM predeterminada, ejecute:
Luego puede verificar su configuración:
Y para
docker-machine inspectinformar el estado correcto de las cosas, edite~/.docker/machine/machines/default/config.jsonpara reflejar sus cambios.fuente
docker-machine inspectno mostrará ningún cambio. Sin embargo, si ejecutadocker stats, verá que se han aplicado los cambios.config.jsonarchivo de la máquina acoplable para reflejar el tamaño real. Ejemplo: paradefault, como se usa en la solución de ejemplo, modifique el~/.docker/machine/machines/default/config.jsonarchivo de modo que la subpropiedadMemory(yCPUsi también se modificó) bajoDriverse cambie a4096. Luego,docker-machine inspectmostrará el valor adecuado.Para la versión 1.12.1 de Docker (compilación: 12133) y superior en macOS, existe una opción para cambiar la CPU y la RAM desde la interfaz de usuario y reiniciar la ventana acoplable. Puede encontrar las preferencias en la barra de herramientas. Adjuntar imágenes para mayor claridad.
Actualización: agosto de 2020: Preferencias -> Recursos (gracias a @ swedge218)
Paso anterior (probablemente desaparecido ahora): Preferencias -> Avanzado -> ajustar recursos -> Aplicar y reiniciar
fuente
Mantenedor de Docker Machine aquí. No creo que el ajuste
config.jsonmanual funcione.Sus dos opciones son crear la máquina con el
--virtualbox-memoryconjunto o ajustar la memoria de la VM en la GUI de VirtualBox ("Configuración> Sistema" para esa VM, creo). Asegúrese de que la máquina esté apagada y debe haber un pequeño control deslizante que funcione.EDITAR: Otra respuesta muestra que también puede hacer la operación en el lugar desde la línea de comando usando
VBoxManage.fuente
docker-machine inspectcontinuará informando la cantidad original de memoria incluso después de alterarla en la GUI de VirtualBox.docker-machine inspectreportar la cantidad exacta, que haga tiene que editarconfig.json(que es dondeinspectobtiene su información).No pude hacer que las otras respuestas funcionen. Lo único que funcionó para mí fue eliminar la máquina predeterminada y volver a crearla con más memoria.
Esta solución se encontró aquí: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en
fuente
Otras respuestas mostraron cómo cambiar la memoria usando VBoxManage:
Para confirmar el cambio desde la línea de comando:
O
fuente
fox xhyve (otra virtualización bajo macos) puede modificar la propiedad ~ / .docker / machine / default / config.json Driver / Memory (predeterminado a 1024) y luego reiniciar la máquina docker para aplicar los cambios
fuente
~/.docker/machine/machines/default/config.json. Gracias 👍