** 注意 **:这是https://hub.docker.com/_/gazebo%E7%9A%84%60amd64%60%E6%9E%B6%E6%9E%84%22per-architecture%22%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E8%AF%B7%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84https://github.com/docker-library/official-images#architectures-other-than-amd64%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
-** 维护者 **:
https://github.com/osrf/docker_images
-** 获取帮助 **:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接警告 :此镜像在amd64架构上不被支持-** 问题提交地址 **:
https://github.com/osrf/docker_images/issues?q=
-** 支持的架构 :(https://github.com/docker-library/official-images#architectures-other-than-amd64) 无支持的架构 - 已发布镜像制品详情 **:
https://github.com/docker-library/repo-info/blob/master/repos/gazebo%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/gazebo%EF%BC%89
(镜像元数据、传输大小等)
-** 镜像更新 **:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgazebo
https://github.com/docker-library/official-images/blob/master/library/gazebo%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/gazebo%EF%BC%89
-** 本描述的来源 **:
https://github.com/docker-library/docs/tree/master/gazebo%EF%BC%88https://github.com/docker-library/docs/commits/master/gazebo%EF%BC%89
机器人仿真是每个机器人专家工具箱中的必备工具。设计良好的仿真器能够快速测试算法、设计机器人,并使用真实场景进行回归测试。Gazebo能够在复杂的室内和室外环境中准确高效地仿真机器人群体。它提供强大的物理引擎、高质量的图形和便捷的编程接口。最重要的是,Gazebo是免费的,拥有活跃的社区。
***.org/wiki/Gazebo_simulator
https://raw.githubusercontent.com/docker-library/docs/54c75ffef879ebb659bb82d5bc690bdb299c60c4/gazebo/logo.png]([***]
DockerfiledockerfileFROM amd64/gazebo:gzserver8 # 此处放置应用的特定设置 CMD [ "gzserver", "my-gazebo-app-args" ]
然后可以构建并运行Docker镜像:
console$ docker build -t my-gazebo-app . $ docker run -it -v="/tmp/.gazebo/:/root/.gazebo/" --name my-running-app my-gazebo-app
此Gazebo容器化镜像旨在提供简化且一致的平台,用于构建和部署基于云的机器人仿真。基于https://hub.docker.com/_/ubuntu/%E5%92%8CGazebo%E5%AE%98%E6%96%B9Debian%E5%8C%85%E6%9E%84%E5%BB%BA%EF%BC%8C%E5%8C%85%E5%90%AB%E6%9C%80%E6%96%B0%E7%9A%84%E6%94%AF%E6%8C%81%E7%89%88%E6%9C%AC%EF%BC%8C%E4%BE%BF%E4%BA%8E%E5%BF%AB%E9%80%9F%E8%AE%BF%E9%97%AE%E5%92%8C%E4%B8%8B%E8%BD%BD%E3%80%82%E8%BF%99%E4%B8%BA%E7%A0%94%E7%A9%B6%E5%92%8C%E5%B7%A5%E4%B8%9A%E9%A2%86%E5%9F%9F%E7%9A%84%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%B8%93%E5%AE%B6%E6%8F%90%E4%BE%9B%E4%BA%86%E7%AE%80%E4%BE%BF%E7%9A%84%E6%96%B9%E5%BC%8F%EF%BC%8C%E8%BF%9B%E8%A1%8C%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90%E5%92%8C%E6%B5%8B%E8%AF%95%EF%BC%8C%E5%8C%85%E6%8B%AC%E8%87%AA%E4%B8%BB%E8%A1%8C%E5%8A%A8%E5%92%8C%E4%BB%BB%E5%8A%A1%E8%A7%84%E5%88%92%E8%AE%AD%E7%BB%83%E3%80%81%E6%8E%A7%E5%88%B6%E5%8A%A8%E5%8A%9B%E5%AD%A6%E5%92%8C%E7%A8%B3%E5%AE%9A%E5%8C%BA%E5%9F%9F%E3%80%81%E8%BF%90%E5%8A%A8%E5%AD%A6%E5%BB%BA%E6%A8%A1%E5%92%8C%E5%8E%9F%E5%9E%8B%E8%A1%A8%E5%BE%81%E3%80%81%E5%AE%9A%E4%BD%8D%E5%92%8C%E6%98%A0%E5%B0%84%E7%AE%97%E6%B3%95%E3%80%81%E7%BE%A4%E4%BD%93%E8%A1%8C%E4%B8%BA%E5%92%8C%E7%BD%91%E7%BB%9C%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E8%88%AC%E7%B3%BB%E7%BB%9F%E9%9B%86%E6%88%90%E5%92%8C%E9%AA%8C%E8%AF%81%E3%80%82
进行此类高有效性的复杂仿真计算需求高,通常超出普通本地工作站的能力。随着被基准测试算法的复杂性增加,甚至可能超出最强大服务器的容量。因此,对于开始遇到集中式计算主机限制的用户,分布式方法更具吸引力。然而,在集群上构建和维护分布式测试平台需要更多时间和精力,许多小型实验室和企业认为实施成本过高。
随着软件容器的发展和标准化,机器人专家已准备好获取一系列改进的开发工具,用于构建和交付软件。为帮助缓解采用新实践的成长痛苦和技术挑战,我们专注于提供Gazebo与这些新技术结合的官方资源。
gzserver标签设计为轻量级且配置简单,仅包含必要的Gazebo依赖项。暴露标准消息端口11345,以允许客户端连接和消息API。
Gazebo使用~/.gazebo/目录存储日志、模型和场景信息。如果希望这些文件在容器生命周期外持久化,可以将~/.gazebo/文件夹挂载到主机上的外部卷,或派生镜像可以指定由Docker引擎管理的卷。默认情况下,容器以root用户运行,因此这些文件的完整路径为/root/.gazebo/。
例如,如果希望使用本地主目录中已有的.gazebo文件夹(用户名为ubuntu),可以通过添加卷参数启动容器:
console$ docker run -v "/home/ubuntu/.gazebo/:/root/.gazebo/" amd64/gazebo
注意,gzserver将日志写入/root/.gazebo/server-<port>/*.log文件(<port>为服务器监听端口,默认***)。如果使用相同默认端口和相同主机目录运行并挂载多个容器,它们将冲突并尝试写入同一文件。如果要在同一Docker主机上运行多个gzserver,需要更巧妙地挂载~/.gazebo/子文件夹。
从Gazebo 5.0版本开始,无头gzserver实例的物理仿真工作正常。但某些应用可能需要图像渲染相机视图和其他传感器模态的光线追踪。Gazebo需要运行中的X服务器进行渲染和场景捕获,此外还需要图形硬件加速以实现合理的实时帧率。为保持镜像的通用性和简洁性,不与主机系统软件和硬件紧密耦合,此处不包含这些高级用例的标签。但可以使用此仓库构建和自定义符合自身软件/硬件配置的镜像。OSRF的Docker Hub组织https://hub.docker.com/u/osrf/gazebo/%E5%9F%BA%E4%BA%8E%E6%AD%A4%E4%BB%93%E5%BA%93%EF%BC%8C%E5%8C%85%E5%90%AB%E8%BF%99%E4%BA%9B%E9%AB%98%E7%BA%A7%E7%94%A8%E4%BE%8B%E7%9A%84%E9%A2%9D%E5%A4%96%E6%A0%87%E7%AD%BE%E3%80%82
如果不仅希望运行Gazebo,还需要进行开发(如编译自定义插件或基于ROS消息接口构建),需要libgazebo标签中包含的开发包。如果只需运行无头服务器,gzserver标签镜像体积更小。
在此简短示例中,我们将启动一个运行gazebo服务器的新容器,使用本地gazebo客户端连接,生成双倒立摆并记录仿真供以后回放。
首先启动gazebo服务器,挂载日志卷并命名容器为gazebo:
console$ docker run -d -v="/tmp/.gazebo/:/root/.gazebo/" --name=gazebo amd64/gazebo
现在使用相同的入口点在容器中打开新的bash会话,然后下载double_pendulum模型并加载到仿真中。
console$ docker exec -it amd64/gazebo bash $ apt-get update && apt-get install -y curl $ curl -o double_pendulum.sdf http://models.gazebosim.org/double_pendulum_with_base/model-1_4.sdf $ gz model --model-name double_pendulum --spawn-file double_pendulum.sdf
要开始记录运行中的仿真,只需使用
gz log:
console$ gz log --record 1
几秒钟后,通过禁用相同标志停止记录:
console$ gz log --record 0
要查看记录的日志,可以导航到日志目录并使用
gz log打开,检查摆的运动和关节状态,可逐步查看摆链接的位姿。
console$ cd ~/.gazebo/log/*/gzserver/ $ gz log --step --hz 10 --filter *.pose/*.pose --file state.log
如果本地安装了相同版本的Gazebo客户端,可以通过将主URI地址设置为容器的公网地址连接到容器内的gzserver。
console$ export GAZEBO_MASTER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' gazebo) $ export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:11345 $ gzclient --verbose
在gzclient的OpenGL渲染视图中,应该能看到之前创建的双倒立摆仍在摆动。可以通过图形界面控制或监控仿真状态,添加更多摆、重置世界、记录更多日志等。要退出仿真,关闭gzclient窗口并停止容器。
console$ docker stop gazebo $ docker rm gazebo
即使旧的gazebo容器已移除,记录的日志仍保留在主机卷目录中。
console$ cd /tmp/.gazebo/log/ $ ls
同样,如果主机系统安装了相同版本的Gazebo,可以使用记录的日志文件回放仿真。
console$ export GAZEBO_MASTER_IP=127.0.0.1 $ export GAZEBO_MASTER_URI=$GAZEBO_MASTER_IP:11345 $ cd /tmp/.gazebo/log/*/gzserver/ $ gazebo --verbose --play state.log
Gazebosim.org:Gazebo官方网站
Answers:查找答案和提问
Wiki:一般信息和教程
邮件列表:获取新闻和公告
仿真模型:机器人、物体和其他仿真模型
博客:保持更新
OSRF:开源机器人基金会
Gazebo采用Apache 2.0开源许可。
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能采用其他许可(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
可在https://github.com/docker-library/repo-info/tree/master/repos/gazebo%E4%B8%AD%E6%89%BE%E5%88%B0%E4%B8%80%E4%BA%9B%E8%87%AA%E5%8A%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E9%99%84%E5%8A%A0%E8%AE%B8%E5%8F%AF%E4%BF%A1%E6%81%AF%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对镜像中包含的所有软件的使用符合相关许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务