我想使用docker帮助我保持组织结构,以使用ROS(机器人操作系统)开发和部署软件包/系统。
我想为各种软件提供多个容器/映像,并为单个映像提供所有ROS依赖项。如何让一个容器使用我的依赖项主容器中的apt-packaged?
例如,我可能有以下容器:
sudo apt-get install
我需要的所有ros依赖项(有很多)。设置其他一些环境变量和各种配置项。如何使用另一个容器中容器的apt软件包,而不必每次都在每个容器上重新安装它们?
答案 0 :(得分:1)
您可以使用Dockerfile创建自己的映像作为基础映像。
示例:
mkdir ROSDocker
cd ROSDocker
vim Dockerfile-base
FROM debian:stretch-slim
RUN apt-get install dep1 dep2 depn
sudo docker build -t yourusername/ros-base:0.1 -f Dockerfile-base .
构建完成后,您可以从该基础映像中创建另一个docker文件。
FROM yourusername/ros-base:0.1
RUN apt-get install dep1 dep2 depn
现在构建第二个图像:
sudo docker build -t yourusername/mymoveApplication:0.1 -f Dockerfile-base .
现在您已经为移动应用程序创建了一个映像,从该映像运行的每个容器都将安装所有依赖项。
您可以拥有docker映像存储库,用于管理您构建的映像并在人与环境之间共享。
此示例可以扩展多次。