【发布时间】:2021-07-15 00:40:06
【问题描述】:
您好,我需要在构建后修改 Autoware_AI 存储库中的 docker 映像。问题是:
A) 我构建运行 .sh 文件的映像:
cd $WORKING_DIRECTORY/docker/generic
./run.sh -t 1.14.0
具体来自 Autoware:https://www.svlsimulator.com/docs/system-under-test/autoware-instructions/
B) 我修改了 Autoware 文件夹中包含的包内的脚本
C)当我退出容器,然后再次进入时,修改不再存在,当然,因为图像是从头开始从 Dockerfile 构建的......
为了找到解决方案,我尝试了 2 种不同的方法:
- 要修改容器并按此处所述保存:https://www.scalyr.com/blog/create-docker-image/
问题:使用其他终端时,尝试为 Autoware_AI 运行容器添加 .txt 文件,以修改容器,Autoware_AI 容器不显示为活动的(但它是)。当我尝试将文件复制到 Autoware_AI 时,只有其他容器可用:
- 提交对 Docker 映像的更改:https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image
问题:连接到 Autoware_AI 服务器和运行 ros 包时出现问题。使用 .sh 构建原始 Docker 文件时不会出现此问题
这里更好地描述了我的问题的完整描述以及终端尝试的输出:
https://get-help.robotigniteacademy.com/t/fork-autoware-ai-repository-and-create-docker-image/9533/4
我在分叉、更改 docker 图像方面是个新手。我不明白如何解决这个问题,找到一个解决方案来创建我的自定义 docker 映像并使其正常运行。
提前非常感谢!
【问题讨论】:
-
您尝试修改的具体代码示例将非常有帮助。抽象地说,您需要创建一个 Dockerfile,该文件以
FROM开始您尝试修改的映像,进行所需的更改,并生成一个新的派生映像。docker commit几乎从来都不是最佳实践(特别是如果基础映像发生更改,您没有记录如何重复修改)。 -
@DavidMaze 我的问题是 Dockerfile 调用一个包含多个 url 的 url 来下载 ROS 模块。为此,可以分叉 github 链接,但我需要更改 url:raw.githubusercontent.com/Autoware-AI/autoware.ai/1.14.0/... 内容。但是我不知道如何修改网页并将其保存到新的网页地址中。甚至可以使用扩展名从头开始创建网页:“autoware.ai.repos”。我知道如何在本地使用 .html 创建以使用浏览器打开。有什么建议吗?我把这个尝试放在下面的答案中......
标签: image docker containers commit ros