Skip to content

mysmartspaces/container-qemu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qemu-docker

Test

This repository contains a Docker container for running x86_64 virtual machines using QEMU. It uses high-performance QEMU options (KVM, and TAP network driver).

Docker Hub: jkz0/qemu

Using the container

Via docker run:

$ docker run --rm -it \
    --device=/dev/kvm:/dev/kvm --device=/dev/net/tun:/dev/net/tun \
    --cap-add NET_ADMIN -v $VM_IMAGE_FILE:/image \
    jkz0/qemu:latest

Via docker-compose.yml:

version: "3"
services:
    vm:
        image: jkz0/qemu:latest
        cap_add:
            - NET_ADMIN
        devices:
            - /dev/net/tun
            - /dev/kvm
        volumes:
            - ${VM_IMAGE:?VM image must be supplied}:/image
        restart: always

Tips

  • VM networking is configured via DHCP, make sure to enable DHCP in your VM image. VMs will use the IP address of the container.
  • You can quit the VM (when attached to the container) by entering the special key sequence C-a x. Killing the docker container will also shut down the VM.

Caveat Emptor

  • Only x86_64 supported new. PRs to support other architectures welcome, though I imagine 99% of use-cases will be x86_64.
  • VMs will not be able to resolve container-names on user-defined bridges. This is due to the way Docker's "Embedded DNS" server works. VMs can still connect to other containers on the same bridge using IP addresses.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published