包含用于构建和测试PX4的Docker容器的Dockerfile,支持包含或不包含ROS和ROS2的环境。
许可证:遵循PX4 Firmware仓库根目录中的https://github.com/PX4/Firmware/blob/master/LICENSE%E3%80%82
https://github.com/PX4/containers/workflows/Build%20Docker%20images/badge.svg](https://github.com/PX4/containers/actions)
容器层次结构
- https://hub.docker.com/r/px4io/px4-dev-base-archlinux https://images.microbadger.com/badges/image/px4io/px4-dev-base-archlinux.svg](http://microbadger.com/images/px4io/px4-dev-base-archlinux) https://img.shields.io/docker/pulls/px4io/px4-dev-base-archlinux.svg](https://hub.docker.com/r/px4io/px4-dev-base-archlinux)
- https://hub.docker.com/r/px4io/px4-dev-base-bionic https://images.microbadger.com/badges/image/px4io/px4-dev-base-bionic.svg](http://microbadger.com/images/px4io/px4-dev-base-bionic) https://img.shields.io/docker/pulls/px4io/px4-dev-base-bionic.svg](https://hub.docker.com/r/px4io/px4-dev-base-bionic)
- https://hub.docker.com/r/px4io/px4-dev-clang https://images.microbadger.com/badges/image/px4io/px4-dev-clang.svg](http://microbadger.com/images/px4io/px4-dev-clang) https://img.shields.io/docker/pulls/px4io/px4-dev-clang.svg](https://hub.docker.com/r/px4io/px4-dev-clang)
- https://hub.docker.com/r/px4io/px4-dev-nuttx-bionic https://images.microbadger.com/badges/image/px4io/px4-dev-nuttx-bionic.svg](http://microbadger.com/images/px4io/px4-dev-nuttx-bionic) https://img.shields.io/docker/pulls/px4io/px4-dev-nuttx-bionic.svg](https://hub.docker.com/r/px4io/px4-dev-nuttx-bionic)
- https://hub.docker.com/r/px4io/px4-dev-nuttx-clang https://images.microbadger.com/badges/image/px4io/px4-dev-nuttx-clang.svg](http://microbadger.com/images/px4io/px4-dev-nuttx-clang) https://img.shields.io/docker/pulls/px4io/px4-dev-nuttx-clang.svg](https://hub.docker.com/r/px4io/px4-dev-nuttx-clang)
- https://hub.docker.com/r/px4io/px4-dev-raspi https://images.microbadger.com/badges/image/px4io/px4-dev-raspi.svg](http://microbadger.com/images/px4io/px4-dev-raspi) https://img.shields.io/docker/pulls/px4io/px4-dev-raspi.svg](https://hub.docker.com/r/px4io/px4-dev-raspi)
- https://hub.docker.com/r/px4io/px4-dev-simulation-bionic https://images.microbadger.com/badges/image/px4io/px4-dev-simulation-bionic.svg](http://microbadger.com/images/px4io/px4-dev-simulation-bionic) https://img.shields.io/docker/pulls/px4io/px4-dev-simulation-bionic.svg](https://hub.docker.com/r/px4io/px4-dev-simulation-bionic)
- https://hub.docker.com/r/px4io/px4-dev-ros-melodic https://images.microbadger.com/badges/image/px4io/px4-dev-ros-melodic.svg](http://microbadger.com/images/px4io/px4-dev-ros-melodic) https://img.shields.io/docker/pulls/px4io/px4-dev-ros-melodic.svg](https://hub.docker.com/r/px4io/px4-dev-ros-melodic)
- https://hub.docker.com/r/px4io/px4-dev-ros2-bouncy https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-bouncy.svg](http://microbadger.com/images/px4io/px4-dev-ros2-bouncy) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-bouncy.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-bouncy)
- https://hub.docker.com/r/px4io/px4-dev-ros2-crystal https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-crystal.svg](http://microbadger.com/images/px4io/px4-dev-ros2-crystal) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-crystal.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-crystal)
- https://hub.docker.com/r/px4io/px4-dev-ros2-dashing https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-dashing.svg](http://microbadger.com/images/px4io/px4-dev-ros2-dashing) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-dashing.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-dashing)
- https://hub.docker.com/r/px4io/px4-dev-ros2-eloquent https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-eloquent.svg](http://microbadger.com/images/px4io/px4-dev-ros2-eloquent) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-eloquent.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-eloquent)
- https://hub.docker.com/r/px4io/px4-dev-base-focal https://images.microbadger.com/badges/image/px4io/px4-dev-base-focal.svg](http://microbadger.com/images/px4io/px4-dev-base-focal) https://img.shields.io/docker/pulls/px4io/px4-dev-base-focal.svg](https://hub.docker.com/r/px4io/px4-dev-base-focal)
- https://hub.docker.com/r/px4io/px4-dev-nuttx-focal https://images.microbadger.com/badges/image/px4io/px4-dev-nuttx-focal.svg](http://microbadger.com/images/px4io/px4-dev-nuttx-focal) https://img.shields.io/docker/pulls/px4io/px4-dev-nuttx-focal.svg](https://hub.docker.com/r/px4io/px4-dev-nuttx-focal)
- https://hub.docker.com/r/px4io/px4-dev-simulation-focal https://images.microbadger.com/badges/image/px4io/px4-dev-simulation-focal.svg](http://microbadger.com/images/px4io/px4-dev-simulation-focal) https://img.shields.io/docker/pulls/px4io/px4-dev-simulation-focal.svg](https://hub.docker.com/r/px4io/px4-dev-simulation-focal)
- https://hub.docker.com/r/px4io/px4-dev-ros-noetic https://images.microbadger.com/badges/image/px4io/px4-dev-ros-noetic.svg](http://microbadger.com/images/px4io/px4-dev-ros-noetic) https://img.shields.io/docker/pulls/px4io/px4-dev-ros-noetic.svg](https://hub.docker.com/r/px4io/px4-dev-ros-noetic)
- https://hub.docker.com/r/px4io/px4-dev-base-xenial https://images.microbadger.com/badges/image/px4io/px4-dev-base-xenial.svg](http://microbadger.com/images/px4io/px4-dev-base-xenial) https://img.shields.io/docker/pulls/px4io/px4-dev-base-xenial.svg](https://hub.docker.com/r/px4io/px4-dev-base-xenial)
- https://hub.docker.com/r/px4io/px4-dev-simulation-xenial https://images.microbadger.com/badges/image/px4io/px4-dev-simulation-xenial.svg](http://microbadger.com/images/px4io/px4-dev-simulation-xenial) https://img.shields.io/docker/pulls/px4io/px4-dev-simulation-xenial.svg](https://hub.docker.com/r/px4io/px4-dev-simulation-xenial)
- https://hub.docker.com/r/px4io/px4-dev-ros-kinetic https://images.microbadger.com/badges/image/px4io/px4-dev-ros-kinetic.svg](http://microbadger.com/images/px4io/px4-dev-ros-kinetic) https://img.shields.io/docker/pulls/px4io/px4-dev-ros-kinetic.svg](https://hub.docker.com/r/px4io/px4-dev-ros-kinetic)
- https://hub.docker.com/r/px4io/px4-dev-ros2-ardent https://images.microbadger.com/badges/image/px4io/px4-dev-ros2-ardent.svg](http://microbadger.com/images/px4io/px4-dev-ros2-ardent) https://img.shields.io/docker/pulls/px4io/px4-dev-ros2-ardent.svg](https://hub.docker.com/r/px4io/px4-dev-ros2-ardent)
- https://hub.docker.com/r/px4io/px4-dev-armhf https://images.microbadger.com/badges/image/px4io/px4-dev-armhf.svg](http://microbadger.com/images/px4io/px4-dev-armhf) https://img.shields.io/docker/pulls/px4io/px4-dev-armhf.svg](https://hub.docker.com/r/px4io/px4-dev-armhf)
- https://hub.docker.com/r/px4io/px4-docs https://images.microbadger.com/badges/image/px4io/px4-docs.svg](http://microbadger.com/images/px4io/px4-docs) https://img.shields.io/docker/pulls/px4io/px4-docs.svg](https://hub.docker.com/r/px4io/px4-docs)
运行容器
如果希望运行容器并使用容器外部的Firmware源代码,请使用以下命令并指定适当的卷映射:
bash
docker run -it --rm \
-v <本地源代码路径>:/home/user/Firmware:rw \
-v /tmp/.X11-unix:/tmp/.X11-unix:ro \
-e DISPLAY=${DISPLAY} \
-e LOCAL_USER_ID="$(id -u)" \
--name=容器名称 docker.xuanyuan.run/px4io/px4-dev-simulation-bionic /bin/bash
或者使用https://github.com/PX4/Firmware/blob/master/Tools/docker_run.sh%E8%84%9A%E6%9C%AC%E3%80%82
构建容器
bash
cd docker
docker build -t px4io/px4-dev-ros-melodic -f Dockerfile_ros-melodic .
或者:
bash
cd docker
make px4-dev-ros-melodic