Splits project into a docker environment folder and source code folder (for development). This change is mostly just renaming and moving files, but there are some changes to the gazebo Dockerfile to include all dependencies required for final development.

This commit is contained in:
Derek Witcpalek
2020-04-03 16:50:47 -04:00
parent 13d2ea9883
commit bf55093420
28 changed files with 87 additions and 33 deletions

View File

@@ -0,0 +1,64 @@
# Docker Compose
# docker-compose.yml format version
version: '3'
# Define services
services:
# ROS Development Service
ros-dev:
# Use Dockerfile in ros-dev folder
build: ./ros-dev
# Mount ros-dev folder on host to app folder in container
volumes:
- ./ros-dev:/app
# Set DISPLAY variable and network mode for GUIs
environment:
- DISPLAY=${IP_ADDRESS}:0.0
network_mode: "host"
# Set working directory in container to app folder
working_dir: /app
# ROS Turtlesim Service
ros-turtlesim:
# Use Dockerfile in ros-turtlesim folder
build: ./ros-turtlesim
# Mount ros-turtlesim folder on host to app folder in container
volumes:
- ./ros-turtlesim:/app
# Set DISPLAY variable and network mode for GUIs
environment:
- DISPLAY=${IP_ADDRESS}:0.0
network_mode: "host"
# Set working directory in container to app folder
working_dir: /app
# Run turtlesim script when container is run
command: bash -c "./turtlesim.sh"
# ROS Production Service
ros:
# Use Dockerfile in ros folder
build: ./ros
# Mount ros folder on host to app folder in container
volumes:
- ./ros:/app
# Set DISPLAY variable and network mode for GUIs
environment:
- DISPLAY=${IP_ADDRESS}:0.0
network_mode: "host"
# Set working directory in container to app folder
working_dir: /app
# Gazebo Production Service
gazebo:
# Use Dockerfile in gazebo folder
build: ./gazebo
# Mount gazebo folder on host to app folder in container
volumes:
- ./gazebo/.gazebo:/root/.gazebo
# Set DISPLAY variable and network mode for GUIs
environment:
- DISPLAY=${IP_ADDRESS}:0.0
network_mode: "host"
# Set working directory in container to app folder
working_dir: /app