-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfileBase
More file actions
104 lines (91 loc) · 3.2 KB
/
DockerfileBase
File metadata and controls
104 lines (91 loc) · 3.2 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
ARG cuda_version=9.0
ARG cudnn_version=7
ARG ubuntu_version=16.04
FROM nvidia/cudagl:${cuda_version}-devel-ubuntu${ubuntu_version}
#use the below command if you need cudnn
# FROM nvidia/cuda:${cuda_version}-cudnn${cudnn_version}-devel-ubuntu16.04
#seem to get libgl issues when using the below now? was working before...
#https://github.com/osrf/docker_images/blob/master/ros/kinetic/ubuntu/xenial/desktop-full/Dockerfile
#FROM osrf/ros:kinetic-desktop-xenial
# Install some useful basics
RUN apt-get update && \
apt-get install -y \
curl \
build-essential \
cmake \
software-properties-common \
psmisc \
htop \
mesa-utils \
git-all \
apt-transport-https \
sudo \
&& \
rm -rf /var/lib/apt/lists/*
## setup sources.list for ROS
RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' && \
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# install ros
RUN apt-get update && apt-get install -y \
ros-kinetic-desktop-full \
&& rm -rf /var/lib/apt/lists/*
ARG WS=/workspace
RUN mkdir -p $WS
WORKDIR $WS
ENV PKG_CONFIG_PATH=/workspace/install/lib/pkgconfig:/workspace/install/share/pkgconfig:$PKG_CONFIG_PATH
ADD .git /workspace/.git
#Install libfranka from source (as an example of how to build/install libraries)
ADD libfranka $WS/libfranka
RUN cd $WS/libfranka && \
rm -rf build && \
mkdir build && \
cd build && \
cmake .. && \
make && \
make install && \
cd $WS && rm -rf libfranka/build
RUN apt-get update && \
apt-get install -q -y \
wget \
&& \
rm -rf /var/lib/apt/lists/*
#Upgrade Gazebo
RUN sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
RUN wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
RUN apt-get update && apt-get install --no-install-recommends -y \
gazebo7 \
&& rm -rf /var/lib/apt/lists/*
# install Panda robot dependencies + any other packages that are needed
RUN apt-get update && \
apt-get install -q -y \
#ros-kinetic-libfranka \
ros-kinetic-gazebo-ros-pkgs \
ros-kinetic-gazebo-ros-control \
ros-kinetic-joint-state-controller \
ros-kinetic-effort-controllers \
ros-kinetic-joint-trajectory-controller \
ros-kinetic-franka-ros \
ros-kinetic-moveit-simple-controller-manager \
ros-kinetic-joint-trajectory-controller \
ros-kinetic-robot-state-publisher \
ros-kinetic-moveit-planners-ompl \
ros-kinetic-joint-state-publisher \
ros-kinetic-moveit-simple-controller-manager \
ros-kinetic-xacro \
ros-kinetic-moveit-ros-visualization \
ros-kinetic-gazebo-ros \
ros-kinetic-camera-info-manager \
ros-kinetic-moveit-visual-tools \
ros-kinetic-position-controllers \
ros-kinetic-trac-ik-kinematics-plugin \
ros-kinetic-node-manager-fkie \
ros-kinetic-eigen-conversions \
ros-kinetic-object-recognition-msgs \
ros-kinetic-roslint \
libignition-math2-dev \
ros-kinetic-moveit-commander && \
rm -rf /var/lib/apt/lists/*
# setup entrypoint
COPY ./docker_entrypoint.sh /
ENTRYPOINT ["/docker_entrypoint.sh"]
CMD ["bash"]