Crie e gerencie VMs alpinas leves no macOS com:
? Encaminhamento de porta sem costura
Compartilhamento automático de arquivos
? Rede de rede em ponte
emulação de aarch64 e x86_64

O objetivo deste projeto é permitir que os usuários do MacOS:
macpine destina -se ao uso no macOS moderno. O suporte para versões mais antigas do macOS e outros sistemas operacionais pode variar.
brew install macpine # installs `alpine` command and `qemu` dependency automatically Faça o download do último lançamento binário do seu sistema e adicione -o ao seu $PATH , movendo -o para EG /usr/local/bin/ :
arch= " $( [ ` uname -m ` = ' x86_64 ' ] && echo ' amd64 ' || echo ' arm64 ' ) " # detect architecture
wget " https://github.com/beringresearch/macpine/releases/latest/download/alpine_darwin_ $arch "
mv " alpine_darwin_ $arch " alpine
sudo chmod +x alpine
sudo mv alpine /usr/local/bin/
# export PATH="$PATH:/usr/local/bin"MacPine depende de qemu> = 7.22.0:
brew install qemu Você também pode instalar macpine via Macports:
sudo port install macpine A construção da fonte requer um compilador de go , e a corrida requer qemu :
brew install go qemu
git clone https://github.com/beringresearch/macpine
cd macpine
make # compiles the project into a local bin/ directory
make install # installs binaries to /usr/local/bin
# PREFIX=/some/other/path make install installs to /some/other/pathPara criar e iniciar uma nova instância:
alpine launch # launches with default parameters
alpine launch -a aarch64 # create an aarch64 instance
alpine launch -d 10G -c 4 -m 2048 # create an instance with a 10GB disk, 4 cpus, and 2GB of RAM
alpine launch -h # view all configuration options and defaultsInstância de acesso via SSH:
alpine launch -s 22 # launch an instance and expose SSH port to host port 22
alpine ssh instance-name # attach shell to instance (replace `instance-name` as appropriate)Exponha portas de instância adicionais ao host:
# launch an instance, expose SSH to host port 2022 and forward host ports 8888 and 5432 to instance ports 8888 and 5432
alpine launch -s 2022 -p 8888,5432
# launch an instance, expose SSH to host port 8022, forward host port 8081 to instance port 8082, and forward
# host port 8083 to instance port 8083
alpine launch -s 8022 -p 8081:8082,8083
# launch an instance, expose SSH to host port 9022, forward host port 9091 UDP to instance port 9091 UDP,
# and forward host port 9092 UDP to instance port 9093 UDP
alpine launch -s 9023 -p 9091u,9092:9093u As instâncias podem ser facilmente embaladas para backup ou compartilhamento como arquivos .tar.gz :
alpine list
NAME STATUS SSH PORTS ARCH PID TAGS
cheerful-result Running 2022 aarch64 26568
glittering-swing Running 3022 x86_64 57206 emulation,intelalpine publish cheerful-result Isso criará um arquivo cheerful-result.tar.gz que pode ser importado como:
# alpine delete cheerful-result
alpine import cheerful-result.tar.gzVeja todos os documentos para obter mais informações:
Create, control, and connect to Alpine instances.
Usage:
alpine [command]
Available Commands:
completion Generate shell autocompletions.
delete Delete instances.
edit Edit instance configurations.
exec execute a command on an instance over ssh.
help Help about any command
import Imports an instance archived with `alpine publish`.
info Display information about instances.
launch Create and start an instance.
list List instances.
pause Pause instances.
publish Publish instances.
rename Rename an instance.
restart Stop and start instances.
resume Unpause instances.
ssh Attach an interactive shell to an instance via ssh.
start Start instances.
stop Stop instances.
tag Add or remove tags from an instance.
Flags:
-h, --help help for alpine
Use "alpine [command] --help" for more information about a command. Várias instâncias em um comando: alguns comandos ( delete , edit , info , pause , publish , restart , resume , start , stop ) aceitam vários nomes de instância e repetirão a operação em cada instância nomeada exclusiva uma vez.
Tags: usando alpine tag , as instâncias podem ser marcadas; As tags podem ser usadas em comandos de várias instâncias (veja acima), por exemplo alpine start +foobar iniciar todas as instâncias que foram marcadas com foobar com alpine tag instance-name foobar . Observe que a tag launchctl-autostart é usada para instâncias de iniciação automática no login.
Conclusão automática do shell: os arquivos de conclusão do comando do shell (instalados automaticamente com brew install macpine ) podem ser gerados com alpine completion [bash|zsh|fish|powershell] . Consulte alpine completion -h ou a documentação de conclusão para obter mais informações.