O ano é 2023 e a experiência de utilizar Docker no Mac continua sofrível se comparado com rodar no Linux. Então voltei a utilizar o Multipass no lugar do Docker Desktop.
multipass launch docker --name docker
multipass shell docker
- Mesmo username
- Mesmo UID (echo $UID)
- Link de /home para /Users
sudo useradd -u 502 -g 20 -d /home/gustavo -m -g gustavo -p mypassword -s /bin/bash -k /etc/skel gustavo
sudo usermod -aG sudo,docker,audio,dip,video,plugdev,netdev,lxd,adm,dialout gustavo
sudo ln -snf /home /Users
- Copiar a chave pub do user para dentro de .ssh/authorized_keys na VM
- Alterar config do docker para escutar na porta 2375
- Configurar variavel DOCKER_HOST no host apontando para a VM
ssh-copy-id gustavo@192.168.64.8
sudo systemctl edit --full docker # ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
sudo systemctl daemon-reload
sudo systemctl restart docker
# on host
export DOCKER_HOST=ssh://gustavo@192.168.64.8 # IP da VM
- Configurar NFS server no Mac e iniciar o daemon
- Montar o NFS na VM
# MacOS como NFS server
echo "/Users/gustavo/Workspace -mapall=gustavo -network 192.168.0.0 -mask=255.255.0.0" | sudo tee -a /etc/exports
sudo nfsd restart
# VM como NFS client
sudo apt install -y nfs-common
mkdir ~/Workspace
sudo mount -t nfs 192.168.64.1:/Users/gustavo/Workspace /home/gustavo/Workspace
# Instalar psql no Mac
brew install libpq
export PATH=$PATH:/usr/local/opt/libpq/bin