如何跨 Docker 个容器共享 apt-package
How to share apt-package across Docker containers
我想使用 docker 来帮助我在使用 ROS(机器人操作系统)开发和部署 package/systems 时保持井井有条。
我想要多个 containers/images 用于各种软件,以及一个包含所有 ROS 依赖项的映像。如何让一个容器使用依赖主容器中的 apt-packaged?
例如,我可能有以下容器:
- MyRosBase:
sudo apt-get install
我需要的所有ros依赖项(有很多)。设置一些其他的环境变量和各种配置项。
- MyMoveApplication:使用 MyRosBase 的依赖项并将任何额外的和特定的依赖项安装到此图像。然后 运行 移动机器人手臂的软件。
- MySimulateApplication:使用 MyRosBase 的依赖项并将任何额外的和特定的依赖项安装到此图像。然后是运行模拟机械臂的软件
如何在另一个容器中使用容器中的 apt 包,而无需每次都在每个容器上重新安装它们?
您可以使用 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 个图像存储库,用于管理您构建的图像并在 people/environments 之间共享。
这个例子可以展开多次。
我想使用 docker 来帮助我在使用 ROS(机器人操作系统)开发和部署 package/systems 时保持井井有条。
我想要多个 containers/images 用于各种软件,以及一个包含所有 ROS 依赖项的映像。如何让一个容器使用依赖主容器中的 apt-packaged?
例如,我可能有以下容器:
- MyRosBase:
sudo apt-get install
我需要的所有ros依赖项(有很多)。设置一些其他的环境变量和各种配置项。 - MyMoveApplication:使用 MyRosBase 的依赖项并将任何额外的和特定的依赖项安装到此图像。然后 运行 移动机器人手臂的软件。
- MySimulateApplication:使用 MyRosBase 的依赖项并将任何额外的和特定的依赖项安装到此图像。然后是运行模拟机械臂的软件
如何在另一个容器中使用容器中的 apt 包,而无需每次都在每个容器上重新安装它们?
您可以使用 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 个图像存储库,用于管理您构建的图像并在 people/environments 之间共享。
这个例子可以展开多次。