-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Add ROS 2 Humble Dockerfile (#56)
* feat: Add ROS 2 Humble Dockerfile * ci: Add humble build test * fix: Remove simulation packages installation to avoid error on arm64 * feat: Add ign package
- Loading branch information
Showing
5 changed files
with
147 additions
and
3 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Copyright 2020-2022 Tiryoh<[email protected]> | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
FROM tiryoh/ubuntu-desktop-lxde-vnc:jammy | ||
LABEL maintainer="Tiryoh<[email protected]>" | ||
|
||
SHELL ["/bin/bash", "-c"] | ||
|
||
RUN apt-get update -q && \ | ||
apt-get upgrade -yq && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -yq wget curl git build-essential vim sudo lsb-release locales bash-completion tzdata gosu && \ | ||
rm -rf /var/lib/apt/lists/* | ||
RUN useradd --create-home --home-dir /home/ubuntu --shell /bin/bash --user-group --groups adm,sudo ubuntu && \ | ||
echo ubuntu:ubuntu | chpasswd && \ | ||
echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
|
||
ARG ROS_DISTRO=humble | ||
ARG INSTALL_PACKAGE=desktop | ||
|
||
RUN apt-get update -q && \ | ||
apt-get install -y curl gnupg2 lsb-release && \ | ||
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \ | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null && \ | ||
apt-get update -q && \ | ||
apt-get install -y ros-${ROS_DISTRO}-${INSTALL_PACKAGE} \ | ||
python3-argcomplete \ | ||
python3-colcon-common-extensions \ | ||
python3-rosdep python3-vcstool && \ | ||
rosdep init && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install simulation package only on amd64 | ||
# Not ready for arm64 for now (July 28th, 2020) | ||
# https://github.com/Tiryoh/docker-ros2-desktop-vnc/pull/56#issuecomment-1196359860 | ||
# RUN apt-get update -q && \ | ||
# apt-get install -y \ | ||
# ros-${ROS_DISTRO}-gazebo-ros-pkgs \ | ||
# ros-${ROS_DISTRO}-ros-ign && \ | ||
# rm -rf /var/lib/apt/lists/* | ||
|
||
RUN gosu ubuntu rosdep update && \ | ||
grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" /home/ubuntu/.bashrc || echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> /home/ubuntu/.bashrc && \ | ||
sudo chown ubuntu:ubuntu /home/ubuntu/.bashrc | ||
|
||
RUN echo 'sed -i -e "s/palette_color_4=rgb([0-9,]*)/palette_color_4=rgb(51,61,255)/g" $HOME/.config/lxterminal/lxterminal.conf' > /usr/local/bin/update-lxterminal.sh && \ | ||
chmod +x /usr/local/bin/update-lxterminal.sh | ||
|
||
ENV USER ubuntu |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Copyright 2020-2022 Tiryoh<[email protected]> | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
FROM tiryoh/ubuntu-desktop-lxde-vnc:jammy | ||
LABEL maintainer="Tiryoh<[email protected]>" | ||
|
||
SHELL ["/bin/bash", "-c"] | ||
|
||
RUN apt-get update -q && \ | ||
apt-get upgrade -yq && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -yq wget curl git build-essential vim sudo lsb-release locales bash-completion tzdata gosu && \ | ||
rm -rf /var/lib/apt/lists/* | ||
RUN useradd --create-home --home-dir /home/ubuntu --shell /bin/bash --user-group --groups adm,sudo ubuntu && \ | ||
echo ubuntu:ubuntu | chpasswd && \ | ||
echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
|
||
ARG ROS_DISTRO=humble | ||
ARG INSTALL_PACKAGE=desktop | ||
|
||
RUN apt-get update -q && \ | ||
apt-get install -y curl gnupg2 lsb-release && \ | ||
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \ | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null && \ | ||
apt-get update -q && \ | ||
apt-get install -y ros-${ROS_DISTRO}-${INSTALL_PACKAGE} \ | ||
python3-argcomplete \ | ||
python3-colcon-common-extensions \ | ||
python3-rosdep python3-vcstool && \ | ||
rosdep init && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install simulation package only on amd64 | ||
# Not ready for arm64 for now (July 28th, 2020) | ||
# https://github.com/Tiryoh/docker-ros2-desktop-vnc/pull/56#issuecomment-1196359860 | ||
RUN apt-get update -q && \ | ||
apt-get install -y \ | ||
ros-${ROS_DISTRO}-gazebo-ros-pkgs \ | ||
ros-${ROS_DISTRO}-ros-ign && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN gosu ubuntu rosdep update && \ | ||
grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" /home/ubuntu/.bashrc || echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> /home/ubuntu/.bashrc && \ | ||
sudo chown ubuntu:ubuntu /home/ubuntu/.bashrc | ||
|
||
RUN echo 'sed -i -e "s/palette_color_4=rgb([0-9,]*)/palette_color_4=rgb(51,61,255)/g" $HOME/.config/lxterminal/lxterminal.conf' > /usr/local/bin/update-lxterminal.sh && \ | ||
chmod +x /usr/local/bin/update-lxterminal.sh | ||
|
||
ENV USER ubuntu |