-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ros] add ros1-bridge images #8139
Merged
yosifkit
merged 2 commits into
docker-library:master
from
ros-infrastructure:ros-bridge-images
Jun 8, 2020
Merged
[ros] add ros1-bridge images #8139
yosifkit
merged 2 commits into
docker-library:master
from
ros-infrastructure:ros-bridge-images
Jun 8, 2020
+34
−1
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Mikael Arguedas <mikael.arguedas@gmail.com>
Signed-off-by: Mikael Arguedas <mikael.arguedas@gmail.com>
Diff for c60c4ca:diff --git a/_bashbrew-cat b/_bashbrew-cat
index 4a2bc55..5a2bb64 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -81,6 +81,21 @@ Architectures: amd64, arm64v8
GitCommit: cc4e832f92bcac995b9a2c9ca8a7b8fcf85c5c28
Directory: ros/noetic/debian/buster/ros-base
+Tags: dashing-ros1-bridge, dashing-ros1-bridge-bionic
+Architectures: amd64, arm32v7, arm64v8
+GitCommit: c71d7177eaad534e42307b4e7ab7e30078c884de
+Directory: ros/dashing/ubuntu/bionic/ros1-bridge
+
+Tags: eloquent-ros1-bridge, eloquent-ros1-bridge-bionic
+Architectures: amd64, arm32v7, arm64v8
+GitCommit: c71d7177eaad534e42307b4e7ab7e30078c884de
+Directory: ros/eloquent/ubuntu/bionic/ros1-bridge
+
+Tags: foxy-ros1-bridge, foxy-ros1-bridge-focal
+Architectures: amd64, arm64v8
+GitCommit: c71d7177eaad534e42307b4e7ab7e30078c884de
+Directory: ros/foxy/ubuntu/focal/ros1-bridge
+
Tags: kinetic-perception, kinetic-perception-xenial
Architectures: amd64, arm32v7, arm64v8
GitCommit: 7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b
diff --git a/_bashbrew-list b/_bashbrew-list
index 3a2a7b8..ff451e0 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,14 +1,20 @@
ros:dashing
+ros:dashing-ros1-bridge
+ros:dashing-ros1-bridge-bionic
ros:dashing-ros-base
ros:dashing-ros-base-bionic
ros:dashing-ros-core
ros:dashing-ros-core-bionic
ros:eloquent
+ros:eloquent-ros1-bridge
+ros:eloquent-ros1-bridge-bionic
ros:eloquent-ros-base
ros:eloquent-ros-base-bionic
ros:eloquent-ros-core
ros:eloquent-ros-core-bionic
ros:foxy
+ros:foxy-ros1-bridge
+ros:foxy-ros1-bridge-focal
ros:foxy-ros-base
ros:foxy-ros-base-focal
ros:foxy-ros-core
diff --git a/ros_melodic-ros-core-bionic/Dockerfile b/ros_dashing-ros1-bridge-bionic/Dockerfile
similarity index 39%
copy from ros_melodic-ros-core-bionic/Dockerfile
copy to ros_dashing-ros1-bridge-bionic/Dockerfile
index a7e316a..765102d 100644
--- a/ros_melodic-ros-core-bionic/Dockerfile
+++ b/ros_dashing-ros1-bridge-bionic/Dockerfile
@@ -1,19 +1,6 @@
-# This is an auto generated Dockerfile for ros:ros-core
-# generated from docker_images/create_ros_core_image.Dockerfile.em
-FROM ubuntu:bionic
-
-# setup timezone
-RUN echo 'Etc/UTC' > /etc/timezone && \
- ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
- apt-get update && \
- apt-get install -q -y --no-install-recommends tzdata && \
- rm -rf /var/lib/apt/lists/*
-
-# install packages
-RUN apt-get update && apt-get install -q -y --no-install-recommends \
- dirmngr \
- gnupg2 \
- && rm -rf /var/lib/apt/lists/*
+# This is an auto generated Dockerfile for ros:ros1-bridge
+# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
+FROM ros:dashing-ros-base-bionic
# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -21,19 +8,27 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6
# setup sources.list
RUN echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros1-latest.list
-# setup environment
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
+ENV ROS1_DISTRO melodic
+ENV ROS2_DISTRO dashing
+# install ros packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ros-melodic-ros-comm=1.14.5-1* \
+ ros-melodic-roscpp-tutorials=0.9.2-1* \
+ ros-melodic-rospy-tutorials=0.9.2-1* \
+ && rm -rf /var/lib/apt/lists/*
-ENV ROS_DISTRO melodic
+# install ros2 packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ros-dashing-ros1-bridge=0.7.5-1* \
+ ros-dashing-demo-nodes-cpp=0.7.9-1* \
+ ros-dashing-demo-nodes-py=0.7.9-1* \
+ && rm -rf /var/lib/apt/lists/*
-# install ros packages
+# install downstream packages
RUN apt-get update && apt-get install -y --no-install-recommends \
- ros-melodic-ros-core=1.4.1-0* \
+ python-rosdep \
&& rm -rf /var/lib/apt/lists/*
# setup entrypoint
COPY ./ros_entrypoint.sh /
-ENTRYPOINT ["/ros_entrypoint.sh"]
-CMD ["bash"]
diff --git a/ros_dashing-ros1-bridge-bionic/ros_entrypoint.sh b/ros_dashing-ros1-bridge-bionic/ros_entrypoint.sh
new file mode 100755
index 0000000..662a9e7
--- /dev/null
+++ b/ros_dashing-ros1-bridge-bionic/ros_entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros1 environment
+source "/opt/ros/$ROS1_DISTRO/setup.bash"
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros2 environment
+source "/opt/ros/$ROS2_DISTRO/setup.bash"
+
+exec "$@"
diff --git a/ros_melodic-ros-core-bionic/Dockerfile b/ros_eloquent-ros1-bridge-bionic/Dockerfile
similarity index 38%
copy from ros_melodic-ros-core-bionic/Dockerfile
copy to ros_eloquent-ros1-bridge-bionic/Dockerfile
index a7e316a..c4f5ae6 100644
--- a/ros_melodic-ros-core-bionic/Dockerfile
+++ b/ros_eloquent-ros1-bridge-bionic/Dockerfile
@@ -1,19 +1,6 @@
-# This is an auto generated Dockerfile for ros:ros-core
-# generated from docker_images/create_ros_core_image.Dockerfile.em
-FROM ubuntu:bionic
-
-# setup timezone
-RUN echo 'Etc/UTC' > /etc/timezone && \
- ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
- apt-get update && \
- apt-get install -q -y --no-install-recommends tzdata && \
- rm -rf /var/lib/apt/lists/*
-
-# install packages
-RUN apt-get update && apt-get install -q -y --no-install-recommends \
- dirmngr \
- gnupg2 \
- && rm -rf /var/lib/apt/lists/*
+# This is an auto generated Dockerfile for ros:ros1-bridge
+# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
+FROM ros:eloquent-ros-base-bionic
# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -21,19 +8,27 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6
# setup sources.list
RUN echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros1-latest.list
-# setup environment
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
+ENV ROS1_DISTRO melodic
+ENV ROS2_DISTRO eloquent
+# install ros packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ros-melodic-ros-comm=1.14.5-1* \
+ ros-melodic-roscpp-tutorials=0.9.2-1* \
+ ros-melodic-rospy-tutorials=0.9.2-1* \
+ && rm -rf /var/lib/apt/lists/*
-ENV ROS_DISTRO melodic
+# install ros2 packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ros-eloquent-ros1-bridge=0.8.2-1* \
+ ros-eloquent-demo-nodes-cpp=0.8.4-1* \
+ ros-eloquent-demo-nodes-py=0.8.4-1* \
+ && rm -rf /var/lib/apt/lists/*
-# install ros packages
+# install downstream packages
RUN apt-get update && apt-get install -y --no-install-recommends \
- ros-melodic-ros-core=1.4.1-0* \
+ python-rosdep \
&& rm -rf /var/lib/apt/lists/*
# setup entrypoint
COPY ./ros_entrypoint.sh /
-ENTRYPOINT ["/ros_entrypoint.sh"]
-CMD ["bash"]
diff --git a/ros_eloquent-ros1-bridge-bionic/ros_entrypoint.sh b/ros_eloquent-ros1-bridge-bionic/ros_entrypoint.sh
new file mode 100755
index 0000000..662a9e7
--- /dev/null
+++ b/ros_eloquent-ros1-bridge-bionic/ros_entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros1 environment
+source "/opt/ros/$ROS1_DISTRO/setup.bash"
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros2 environment
+source "/opt/ros/$ROS2_DISTRO/setup.bash"
+
+exec "$@"
diff --git a/ros_noetic-ros-core-focal/Dockerfile b/ros_foxy-ros1-bridge-focal/Dockerfile
similarity index 41%
copy from ros_noetic-ros-core-focal/Dockerfile
copy to ros_foxy-ros1-bridge-focal/Dockerfile
index d526d14..ad77be2 100644
--- a/ros_noetic-ros-core-focal/Dockerfile
+++ b/ros_foxy-ros1-bridge-focal/Dockerfile
@@ -1,19 +1,6 @@
-# This is an auto generated Dockerfile for ros:ros-core
-# generated from docker_images/create_ros_core_image.Dockerfile.em
-FROM ubuntu:focal
-
-# setup timezone
-RUN echo 'Etc/UTC' > /etc/timezone && \
- ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
- apt-get update && \
- apt-get install -q -y --no-install-recommends tzdata && \
- rm -rf /var/lib/apt/lists/*
-
-# install packages
-RUN apt-get update && apt-get install -q -y --no-install-recommends \
- dirmngr \
- gnupg2 \
- && rm -rf /var/lib/apt/lists/*
+# This is an auto generated Dockerfile for ros:ros1-bridge
+# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
+FROM ros:foxy-ros-base-focal
# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -21,19 +8,22 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6
# setup sources.list
RUN echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list
-# setup environment
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
-
-ENV ROS_DISTRO noetic
-
+ENV ROS1_DISTRO noetic
+ENV ROS2_DISTRO foxy
# install ros packages
RUN apt-get update && apt-get install -y --no-install-recommends \
- ros-noetic-ros-core=1.5.0-1* \
+ ros-noetic-ros-comm=1.15.7-1* \
+ ros-noetic-roscpp-tutorials=0.10.1-1* \
+ ros-noetic-rospy-tutorials=0.10.1-1* \
+ && rm -rf /var/lib/apt/lists/*
+
+# install ros2 packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ros-foxy-ros1-bridge=0.9.2-1* \
+ ros-foxy-demo-nodes-cpp=0.9.3-1* \
+ ros-foxy-demo-nodes-py=0.9.3-1* \
&& rm -rf /var/lib/apt/lists/*
# setup entrypoint
COPY ./ros_entrypoint.sh /
-ENTRYPOINT ["/ros_entrypoint.sh"]
-CMD ["bash"]
diff --git a/ros_foxy-ros1-bridge-focal/ros_entrypoint.sh b/ros_foxy-ros1-bridge-focal/ros_entrypoint.sh
new file mode 100755
index 0000000..662a9e7
--- /dev/null
+++ b/ros_foxy-ros1-bridge-focal/ros_entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros1 environment
+source "/opt/ros/$ROS1_DISTRO/setup.bash"
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros2 environment
+source "/opt/ros/$ROS2_DISTRO/setup.bash"
+
+exec "$@" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
this builds on top of #8138
The only new commit is ros-infrastructure@c60c4ca that adds the ros1-bridge images.
ROS 2 is the new default in the ROS ecosystem. The majority of users are still using ROS 1 and migrate their systems progressively over to ROS 2 using bridges to reconcile the two worlds.
These images have been hosted on the osrf profile for a while. Following user requests to be able to use these images on ARM platforms and the fact that these images do not bring in GUI dependencies we decided to submit them here along the other ROS official images.
These images are used in the examples at docker-library/docs#1381
Related discussions osrf/docker_images#414 osrf/docker_images#415,
cc @ruffsl