File tree Expand file tree Collapse file tree 13 files changed +293
-2
lines changed Expand file tree Collapse file tree 13 files changed +293
-2
lines changed Original file line number Diff line number Diff line change
1
+ all : help
2
+
3
+ help :
4
+ @echo " "
5
+ @echo " -- Help Menu"
6
+ @echo " "
7
+ @echo " 1. make build - build all images"
8
+ @echo " 2. make pull - pull all images"
9
+ @echo " 3. make clean - remove all images"
10
+ @echo " "
11
+
12
+ build :
13
+ @docker build --tag=ros:foxy-ros-core-focal ros-core/.
14
+ @docker build --tag=ros:foxy-ros-base-focal ros-base/.
15
+ # @docker build --tag=osrf/ros:foxy-desktop-focal desktop/.
16
+ # @docker build --tag=osrf/ros:foxy-ros1-bridge-focal ros1-bridge/.
17
+
18
+ pull :
19
+ @docker pull ros:foxy-ros-core-focal
20
+ @docker pull ros:foxy-ros-base-focal
21
+ # @docker pull osrf/ros:foxy-desktop-focal
22
+ # @docker pull osrf/ros:foxy-ros1-bridge-focal
23
+
24
+ clean :
25
+ @docker rmi -f ros:foxy-ros-core-focal
26
+ @docker rmi -f ros:foxy-ros-base-focal
27
+ # @docker rmi -f osrf/ros:foxy-desktop-focal
28
+ # @docker rmi -f osrf/ros:foxy-ros1-bridge-focal
Original file line number Diff line number Diff line change
1
+ # This is an auto generated Dockerfile for ros:desktop
2
+ # generated from docker_images_ros2/create_ros_image.Dockerfile.em
3
+ FROM ros:foxy-ros-base-focal
4
+
5
+ # install ros2 packages
6
+ RUN apt-get update && apt-get install -y --no-install-recommends \
7
+ ros-foxy-desktop=0.9.1-1* \
8
+ && rm -rf /var/lib/apt/lists/*
9
+
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ # http://windsock.io/automated-docker-image-builds-with-multiple-tags/
3
+
4
+ set -e
5
+
6
+ # Parse image name for repo name
7
+ tagStart=$( expr index " $IMAGE_NAME " :)
8
+ repoName=${IMAGE_NAME: 0: tagStart-1}
9
+
10
+ # Tag and push image for each additional tag
11
+ for tag in foxy-desktop; do
12
+ docker tag $IMAGE_NAME ${repoName} :${tag}
13
+ docker push ${repoName} :${tag}
14
+ done
Original file line number Diff line number Diff line change
1
+ % YAML 1.1
2
+ # ROS2 Dockerfile database
3
+ -- -
4
+ images :
5
+ ros- core :
6
+ base_image : @ (os_name): @ (os_code_name)
7
+ maintainer_name : @ (maintainer_name)
8
+ template_name : docker_images_ros2/ create_ros_core_image .Dockerfile .em
9
+ entrypoint_name : docker_images_ros2/ ros_entrypoint .sh
10
+ template_packages :
11
+ - docker_templates
12
+ ros2_packages :
13
+ - ros- core
14
+ ros- base :
15
+ base_image : @ (user_name): @ (ros2distro_name)- ros- core- @ (os_code_name)
16
+ maintainer_name : @ (maintainer_name)
17
+ template_name : docker_images_ros2/ create_ros_image .Dockerfile .em
18
+ template_packages :
19
+ - docker_templates
20
+ ros2_packages :
21
+ - ros- base
22
+ bootstrap_ros_tools :
23
+ desktop :
24
+ base_image : @ (user_name): @ (ros2distro_name)- ros- base- @ (os_code_name)
25
+ maintainer_name : @ (maintainer_name)
26
+ template_name : docker_images_ros2/ create_ros_image .Dockerfile .em
27
+ template_packages :
28
+ - docker_templates
29
+ ros2_packages :
30
+ - desktop
31
+ ros1- bridge :
32
+ base_image : @ (user_name): @ (ros2distro_name)- ros- base- @ (os_code_name)
33
+ maintainer_name : @ (maintainer_name)
34
+ template_name : docker_images_ros2/ ros1_bridge/ create_ros_ros1_bridge_image .Dockerfile .em
35
+ entrypoint_name : docker_images_ros2/ ros1_bridge/ ros_entrypoint .sh
36
+ template_packages :
37
+ - docker_templates
38
+ ros2_packages :
39
+ - ros1- bridge
40
+ - demo- nodes- cpp
41
+ - demo- nodes- py
42
+ ros_packages :
43
+ - ros- comm
44
+ - roscpp- tutorials
45
+ - rospy- tutorials
Original file line number Diff line number Diff line change
1
+ %YAML 1.1
2
+ # ROS2 Dockerfile database
3
+ ---
4
+ platform :
5
+ os_name : ubuntu
6
+ os_code_name : focal
7
+ rosdistro_name : noetic
8
+ ros2distro_name : foxy
9
+ user_name : ros
10
+ maintainer_name :
11
+ arch : amd64
12
+ type : distribution
13
+ version :
14
+ ros_version : 2
Original file line number Diff line number Diff line change
1
+ # This is an auto generated Dockerfile for ros:ros-base
2
+ # generated from docker_images_ros2/create_ros_image.Dockerfile.em
3
+ FROM ros:foxy-ros-core-focal
4
+
5
+ # install bootstrap tools
6
+ RUN apt-get update && apt-get install --no-install-recommends -y \
7
+ build-essential \
8
+ git \
9
+ python3-colcon-common-extensions \
10
+ python3-colcon-mixin \
11
+ python3-rosdep \
12
+ python3-vcstool \
13
+ && rm -rf /var/lib/apt/lists/*
14
+
15
+ # bootstrap rosdep
16
+ RUN rosdep init && \
17
+ rosdep update --rosdistro $ROS_DISTRO
18
+
19
+ # setup colcon mixin and metadata
20
+ RUN colcon mixin add default \
21
+ https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml && \
22
+ colcon mixin update && \
23
+ colcon metadata add default \
24
+ https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml && \
25
+ colcon metadata update
26
+
27
+ # install ros2 packages
28
+ RUN apt-get update && apt-get install -y --no-install-recommends \
29
+ ros-foxy-ros-base=0.9.1-1* \
30
+ && rm -rf /var/lib/apt/lists/*
31
+
Original file line number Diff line number Diff line change
1
+ # This is an auto generated Dockerfile for ros:ros-core
2
+ # generated from docker_images_ros2/create_ros_core_image.Dockerfile.em
3
+ FROM ubuntu:focal
4
+
5
+ # setup timezone
6
+ RUN echo 'Etc/UTC' > /etc/timezone && \
7
+ ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
8
+ apt-get update && \
9
+ apt-get install -q -y --no-install-recommends tzdata && \
10
+ rm -rf /var/lib/apt/lists/*
11
+
12
+ # install packages
13
+ RUN apt-get update && apt-get install -q -y --no-install-recommends \
14
+ dirmngr \
15
+ gnupg2 \
16
+ && rm -rf /var/lib/apt/lists/*
17
+
18
+ # setup keys
19
+ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
20
+
21
+ # setup sources.list
22
+ RUN echo "deb http://packages.ros.org/ros2/ubuntu focal main" > /etc/apt/sources.list.d/ros2-latest.list
23
+
24
+ # setup environment
25
+ ENV LANG C.UTF-8
26
+ ENV LC_ALL C.UTF-8
27
+
28
+ ENV ROS_DISTRO foxy
29
+
30
+ # install ros2 packages
31
+ RUN apt-get update && apt-get install -y --no-install-recommends \
32
+ ros-foxy-ros-core=0.9.1-1* \
33
+ && rm -rf /var/lib/apt/lists/*
34
+
35
+ # setup entrypoint
36
+ COPY ./ros_entrypoint.sh /
37
+
38
+ ENTRYPOINT ["/ros_entrypoint.sh" ]
39
+ CMD ["bash" ]
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -e
3
+
4
+ # setup ros2 environment
5
+ source " /opt/ros/$ROS_DISTRO /setup.bash"
6
+ exec " $@ "
Original file line number Diff line number Diff line change
1
+ # This is an auto generated Dockerfile for ros:ros1-bridge
2
+ # generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
3
+ FROM ros:foxy-ros-base-focal
4
+
5
+ # setup keys
6
+ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
7
+
8
+ # setup sources.list
9
+ RUN echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list
10
+
11
+ ENV ROS1_DISTRO noetic
12
+ ENV ROS2_DISTRO foxy
13
+ # install ros packages
14
+ RUN apt-get update && apt-get install -y --no-install-recommends \
15
+ ros-noetic-ros-comm=1.15.7-1* \
16
+ ros-noetic-roscpp-tutorials=0.10.1-1* \
17
+ ros-noetic-rospy-tutorials=0.10.1-1* \
18
+ && rm -rf /var/lib/apt/lists/*
19
+
20
+ # install ros2 packages
21
+ RUN apt-get update && apt-get install -y --no-install-recommends \
22
+ ros-foxy-ros1-bridge=0.9.2-1* \
23
+ ros-foxy-demo-nodes-cpp=0.9.3-1* \
24
+ ros-foxy-demo-nodes-py=0.9.3-1* \
25
+ && rm -rf /var/lib/apt/lists/*
26
+
27
+ # setup entrypoint
28
+ COPY ./ros_entrypoint.sh /
29
+
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ # http://windsock.io/automated-docker-image-builds-with-multiple-tags/
3
+
4
+ set -e
5
+
6
+ # Parse image name for repo name
7
+ tagStart=$( expr index " $IMAGE_NAME " :)
8
+ repoName=${IMAGE_NAME: 0: tagStart-1}
9
+
10
+ # Tag and push image for each additional tag
11
+ for tag in foxy-ros1-bridge; do
12
+ docker tag $IMAGE_NAME ${repoName} :${tag}
13
+ docker push ${repoName} :${tag}
14
+ done
You can’t perform that action at this time.
0 commit comments