Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

379
Visualizações
¿Ejecuta Ruby, Node, Python y Docker en la nueva arquitectura Apple Silicon?

¿Cómo se ejecutan los entornos de desarrollo Ruby, Python y Node.js en la arquitectura Apple Silicon? ¿Qué pasa con el software de virtualización, por ejemplo, Docker?

over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

Parece que todo funcionará como está...

Desde la presentación del evento, dijeron: "Las aplicaciones Mac existentes que no se han actualizado a Universal funcionarán sin problemas con la tecnología Rosetta 2 de Apple".

over 4 years ago · Santiago Trujillo Relatório

0

Probé muchas cosas y tuve algunos problemas para hacer que las cosas funcionaran, pero al final, esta es la forma más sencilla que encontré para hacer que Docker se ejecute en un nuevo chip Mac Silicon M1.

Docker no funciona de forma nativa, VirtualBox no funciona, Parallels no funciona, ... al final, todo se reduce a usar UTM para crear una máquina virtual, instalar el servidor Ubuntu en ella. Una vez que tenga eso, puede instalar lo que quiera en él (Docker, Node JS, Apache, PHP, MariaDB, ...).

Luego, configura todo para que pueda usar todas sus herramientas favoritas de Mac OS (Terminal, Transmit, VS Code, Safari ...) para trabajar, como si tuviera todo eso en su sistema de archivos local.

1 - Descargar disco de instalación de Linux

Obtenga una distribución ARM de Linux. Tomé el servidor Ubuntu 20.04 LTS: https://cdimage.ubuntu.com/releases/20.04/release/ubuntu-20.04.1-live-server-arm64.iso
Son 922 MB.

Lo obtuve de aquí: https://ubuntu.com/download/server/arm

Puede elegir cualquier distribución de Linux, pero asegúrese de obtener la versión ARM (algunas distribuciones no tienen una).

2 - Descargar UTM

UTM es un software de virtualización que está dirigido principalmente a dispositivos IO, pero también funciona en Mac OS.
https://github.com/utmapp/UTM/releases/download/v2.0.14/UTM.dmg
Ese es de 255 MB.
Las versiones futuras estarán disponibles desde aquí: https://github.com/utmapp/UTM/releases/
Simplemente descargue el paquete, ábralo e inicie la aplicación que está dentro.

3 - Crea tu máquina virtual

Cree su nueva VM, adjunte el disco de instalación de Linux e inicie la VM siguiendo estos pasos aquí:
https://github.com/utmapp/UTM/wiki/Instalar-Ubuntu-ARM64-en-Apple-M1

Básicamente:

  1. haga clic en Crear una nueva máquina virtual
  2. en la pestaña Información : elige un nombre y un ícono para tu VM
  3. en la pestaña Sistema :
    1. en Hardware, elija la arquitectura ARM64 (aarch64)
    2. dale algo de memoria (que tal 4 GB...)
  4. en la pestaña Unidades :
    1. cree su unidad principal con New Drive , conecte VirtIO y elija el tamaño que desee (yo elegí 20 480 MB), luego haga clic en Crear.
    2. cree la unidad de CD con Nueva unidad , marque Extraíble, interfaz USB, haga clic en Crear
  5. Guardar la máquina virtual
  6. Seleccione su nueva máquina virtual brillante en la barra lateral y en la esquina inferior derecha, haga clic en Examinar y seleccione su disco virtual ISO de instalación de Linux.

Ahora puede iniciar la VM, se iniciará en el CD de instalación de Linux: instale Linux.

Durante este proceso de instalación clásico, se le pedirá que cree una cuenta de usuario en el sistema Linux (llamémoslo bob ). Cuando finalice la instalación, apague la máquina virtual y extraiga el disco de instalación antes de reiniciar.

4 - Trabajando dentro de su VM

Cuando reinicia la VM, obtiene una terminal que le solicita que inicie sesión en Linux, utilizando el nombre de usuario y la contraseña que creó durante la instalación.

Ahora puede instalar Docker, openSSH-server, nodeJS, usando los comandos clásicos apt-get.

5 - Trabajando en tu VM desde MacOS

Si no me gusta elegir el teclado correcto, es posible que tenga problemas para escribir algunos caracteres especiales. La mejor manera de trabajar con su VM ahora es trabajar desde fuera de ella.

Detenga la VM (sudo shutdown -h ahora si ya está dentro del shell) y regrese a UTM:
Seleccione su VM en el panel lateral izquierdo y haga clic en el botón superior derecho para editar la VM nuevamente:
Vaya a la pestaña Red y frente a Port Forward, haga clic en Nuevo .
Debe agregar manualmente una nueva directiva de reenvío de puertos para cada puerto en su VM al que desee acceder desde su Mac OS Host.

Por ejemplo, para SSH: en el nuevo formulario de reenvío de puerto, simplemente escriba 22 en Guest Port y lo que desee en Host Port (digamos 3022).

Ahora puede reiniciar su máquina virtual y en una terminal Mac OS normal, puede iniciar sesión en su máquina virtual con
ssh -p 3022 bob@localhost

Si no desea escribir su contraseña cada vez, copie el contenido de ~/.ssh/id_rsa.pub (desde Mac OS) dentro de un archivo de texto /home/bob/.ssh/authorized_keys recién creado, dentro de la máquina virtual.

6 - copia de archivos a través de sftp

Lamentablemente, no logré acceder al contenido de la VM directamente con el buscador. Tuve que usar el famoso cliente FTP Transmit.

Crear una nueva conexión con:
Protocolo: SFTP
Anfitrión: servidor local
Usuario: bob
Contraseña: [tu contraseña]
Puerto: 3022
(sí, el puerto es el mismo que SSH)

Ahora puede explorar y copiar archivos libremente hacia y desde su máquina virtual.

Ah, pero espera... ¡hay más!

7 - trabajando con VS Code en su VM

Ahora también puedes trabajar en tu VM, desde tu Mac OS VS Code, instalando la extensión Desarrollo Remoto : https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

Una vez instalada la extensión, haga clic en el signo verde >< en la parte inferior izquierda de la ventana de VS Code y elija Remote-SSH: connect to host...
Elija agregar un nuevo host SSH y escriba ssh -p 3022 bob@localhost

Ahora puede trabajar en VS Code en un proyecto dentro de su VM como si estuviera en su sistema de archivos local.

Realizo un desarrollo de Nuxt.js que llama a una API con Apache / PHP / MySQL (tuve que cambiar a MariaDB porque no pude encontrar una versión ARM de MySQL que funcionara) que se ejecuta en diferentes contenedores Docker dentro de la VM usando docker-compose.

Al haber redireccionado el puerto invitado 3000 al puerto host 3000, puedo navegar por el front-end con Safari como si todo se ejecutara de forma nativa en Mac OS.

Espero que todo esto te ahorre algo de tiempo.

over 4 years ago · Santiago Trujillo Relatório

0

Los lenguajes de programación como Ruby, Node y Python deberían ejecutarse en Apple M1 Chip, pero Docker no es compatible a partir de ahora (están trabajando en ello)

Problema de Docker para Mac https://github.com/docker/for-mac/issues/4733

El equipo de Docker podría estar trabajando para solucionar el problema según esto: https://github.com/docker/roadmap/issues/142

Mi recomendación: obténgalo ahora solo si desea crear una aplicación iOS. Dado que la mayoría de las personas no tienen la computadora portátil en este momento, es posible que terminemos con muchos otros problemas.

ACTUALIZACIÓN: Esta es una respuesta más apropiada ahora: https://stackoverflow.com/a/65253659/8216911

over 4 years ago · Santiago Trujillo Relatório

0

Para docker hay una vista previa técnica en https://docs.docker.com/docker-for-mac/apple-m1/ .

Puede ejecutar ruby, python, etc. directamente en una Mac M1 configurando una terminal que se ejecuta en modo Rosetta. A continuación, ejecute home brew y podrá utilizar los grifos de preparación de arquitectura x86_64 existentes. Estoy usando /bin/bash como shell de mi Mac en lugar de zsh, pero puede adaptar lo siguiente para zsh si lo prefiere.

Inicie sesión en su shell normal e instale ARM homebrew en /opt/homebrew

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Ahora configure un nuevo perfil de terminal "Rosetta shell" con la pestaña Shell Ejecutar comando "env /usr/bin/arch -x86_64 /bin/bash --login". concha bajo rosetta

Vuelva a iniciar sesión en rosetta shell e instale x86_64 homebrew en /usr/local/homebrew

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Edite su ~/.bash_profile y agregue algún código para detectar si su shell está bajo Rosetta y, de ser así, use /usr/local/homebrew en lugar del habitual /opt/homebrew

 if [ "$(sysctl -n sysctl.proc_translated)" = "1" ]; then # run under rosetta 2 with # env /usr/bin/arch -x86_64 /bin/bash --login #local brew_path="/usr/local/homebrew/bin" eval $(/usr/local/bin/brew shellenv) export PS1="i \D{%I:%M %p}:\w $ " else #local brew_path="/opt/homebrew/bin" eval $(/opt/homebrew/bin/brew shellenv) fi

Ahora inicie sesión en su shell de Rosetta y ejecute comandos como

 $ brew install ruby

entonces puedes ejecutar ruby.

También logré obtener una máquina virtual vagabunda Fedora 33 para ARM que se ejecuta en Mac M1 bajo la versión beta de virtualización de Parallels. Eso podría ayudar con apache y php. Instrucciones aquí

https://github.com/peterdragon/packer-M1-parallels-fedora33

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda