Skip to content

Instantly share code, notes, and snippets.

@mkol5222
Last active February 7, 2024 08:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkol5222/922b66c917497dd9509c436b8b28e2b9 to your computer and use it in GitHub Desktop.
Save mkol5222/922b66c917497dd9509c436b8b28e2b9 to your computer and use it in GitHub Desktop.
how to launch multipass Ubuntu LTS VM with docker
#cloud-config
package_upgrade: true
#ssh_authorized_keys:
# - <your key>
packages:
- docker.io
- docker-compose
- jq
- curl
- gh
- avahi-daemon
# create the docker group
groups:
- docker
# Add default auto created user to docker group
system_info:
default_user:
groups: [docker]
runcmd:
- curl -sLS https://get.arkade.dev | sudo sh
write_files:
- content: |
# custom
alias update='sudo apt update && sudo apt upgrade && sudo apt dist-upgrade && sudo apt autoremove && sudo apt auto-clean'
path: /etc/skel/.bashrc
append: true

Ubuntu LTS VM with Docker using Multipass

Install Multipass on macOS:

brew install multipass

Create a new Ubuntu LTS VM with Docker:

multipass launch -c 4 -m 8g -d 40g --cloud-init https://gist.githubusercontent.com/mkol5222/922b66c917497dd9509c436b8b28e2b9/raw/cloud-init.yaml -n dockervm

Test the VM:

multipass exec dockervm -- uname -a
multipass exec dockervm -- docker run hello-world
multipass exec dockervm -- gh auth login --help
multipass exec dockervm -- sudo less /var/log/cloud-init-output.log

# or simply enter VM
multipass shell dockervm

Delete test VM:

multipass delete -p dockervm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment