User Tools

Site Tools


soft:vct-docker

Virtual CONFINE Testbed (VCT) in Docker

Virtual Confine Testbed can be installed via Docker. Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Currently, Docker containers are based on lxc. In Addition to lxc containers, Dockers have its own network stack and layered file system. All containers share the same kernel but their address space is isolated from each other.

Installation

Tested Docker version 1.5.0, build a8a31ef

Before Installation

In the host machine, You need to install required packages to populate /dev/kvm and /dev/fuse device files.

Installing VCT system in Docker

git clone https://github.com/erenyagdiran/vct-docker.git
cd vct-docker
./build_vct

build_vct is equivalent of docker build -t vct /vct

After building is complete, You can run vct system

 docker run --privileged -p 80:80 -i -t --name vct vct

This will start the vct system and after initialization complete, you can go http://host_ip:80 to login the system

If you kill the container when it is running, You will lose your persistent data. You have to start/stop container in order to keep the persistent data.

Starting Vct system in Docker

docker start vct

Stopping Vct system in Docker

docker stop vct

Injecting bash to running vct system in Docker

docker exec -i -t vct /bin/bash

Installing Controller only container

Issues

Could not resolve 'archive.ubuntu.com'

  • Uncomment the following line in /etc/default/docker
  • DOCKER_OPTS=“–dns 8.8.8.8 –dns 8.8.4.4”
  • Restart the Docker service sudo service docker restart
  • Delete any images which have cached the invalid DNS settings.
  • Build again and the problem should be solved.

Deleting all builds and images

  • docker rmi -f $(docker images -q)

The last build for this research device has failed. This problem has been reported to the operators, but you can try to build again the image

  • This means fuse group cannot be mapped correctly from host system.
  • chown root:fuse /dev/fuse
  • chmod 770 /dev/fuse

ERROR vct_node_create(): Failed creating domain name

  • chown root:kvm /dev/kvm
  • chmod 770 /dev/kvm

cannot access '/dev/kvm': No such file or directory

  • modprobe kvm_intel ( Or amd equivalent.)

unable to execute QEMU command 'cont'

soft/vct-docker.txt · Last modified: 2015/02/23 16:42 by m00dy