本人电脑mac,m1芯片,新手入门docker。在使用docker拉去ros:noetic时,dockerfile文件如下
FROM ros:noetic-ros-base
# Set the environment variables to prevent interactive prompts during installation
ENV DEBIAN_FRONTEND=noninteractive
# Update the package list and install required packages
RUN apt-get update && apt-get install -y \
python3-osrf-pycommon \
python3-catkin-tools \
ros-noetic-rviz \
ros-noetic-gazebo-ros-pkgs
# Create a catkin workspace
RUN mkdir -p /catkin_ws/src && \
cd /catkin_ws && \
catkin_make
# Source the workspace setup.bash file
RUN echo "source /catkin_ws/devel/setup.bash" >> /root/.bashrc
随后执行(base) docker build -t ros-noetic-arm64 .
报错代码如下
> [3/4] RUN mkdir -p /catkin_ws/src && cd /catkin_ws && catkin_make:
0.127 /bin/sh: 1: catkin_make: not found
------
Dockerfile:14
--------------------
13 | # Create a catkin workspace
14 | >>> RUN mkdir -p /catkin_ws/src && \
15 | >>> cd /catkin_ws && \
16 | >>> catkin_make
17 |
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir -p /catkin_ws/src && cd /catkin_ws && catkin_make" did not complete successfully: exit code: 127
这是什么原因,我该如何修改,感谢
引用 皆我百晓生 小程序回复内容作答:
根据错误信息显示,Dockerfile文件中的命令catkin_make
未找到,即在docker容器中找不到catkin_make
命令。这可能是由于未正确安装相关的软件包或依赖项。您可以尝试执行以下修改:
ros-noetic-catkin
软件包,它包含catkin_make
命令。在Dockerfile文件中的apt-get install
命令后面添加ros-noetic-catkin
软件包的安装:
RUN apt-get update && apt-get install -y \
python3-osrf-pycommon \
python3-catkin-tools \
ros-noetic-rviz \
ros-noetic-gazebo-ros-pkgs \
ros-noetic-catkin
catkin_make
之前,切换到正确的工作目录。# Create a catkin workspace
RUN mkdir -p /catkin_ws/src && \
cd /catkin_ws && \
catkin_init_workspace && \
cd /catkin_ws && \
catkin_make
在这个修改中,我们添加了catkin_init_workspace
命令来初始化catkin工作空间。
更新Dockerfile并重新构建Docker镜像来看看是否能够解决该问题。希望这可以帮助您成功构建docker镜像。如果问题仍然存在,请提供详细的错误信息,以便我们更好地帮助您。