blob: a122fb4a3bc26446fa5146b546bc9de72f4d71de (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# -*- mode: ruby -*-
# vi: set ft=ruby :
#
# Boot docker SITL environment
#
# Maintainer: Andreas Antener <andreas@uaventure.com>
#
# "vagrant up" will build the images. Should eventually start "xterm" from within the docker container.
#
# Notes:
# (will change, need proper docs)
#
# Build with multiple dependent docker containers:
# Use the "--no-parallel" option so the containers will be built/started in order.
# e.g.: "vagrant up --no-parallel"
#
# Running apps directly:
# "vagrant docker-run ros -- <cmd>"
# Attention: will loose all data when stopped, vagrant runs docker always with "--rm"
#
# TODO
# - do not run the docker container with "--rm" (vagrant default). is that even possible?
# - maybe map a local working directory to compile stuff without loosing it in side the docker container
#
Vagrant.configure(2) do |config|
# Configure docker host
config.vm.provider "docker" do |d|
d.vagrant_machine = "docker-host"
d.vagrant_vagrantfile = "../docker-host/Vagrantfile"
end
# Configure docker apps to run
config.vm.define "ros" do |app|
app.vm.provider "docker" do |d|
d.name = "ros"
d.image = "uaventure/px4-ros-full"
#d.build_dir = "../../docker/px4-ros-full"
#d.build_args = ["-t=uaventure/px4-ros-full"]
# Share docker host x11 socket
# Run privileged to support 3d acceleration
d.volumes = [
"/tmp/.X11-unix:/tmp/.X11-unix:ro"
]
d.create_args = ["--privileged"]
# TODO: get display number from host system
d.env = {
"DISPLAY" => ":0"
}
d.remains_running = true
d.cmd = ["xterm"]
#d.has_ssh = true
end
end
end
|