如何跨 Docker 个容器共享 apt-package

How to share apt-package across Docker containers

我想使用 docker 来帮助我在使用 ROS(机器人操作系统)开发和部署 package/systems 时保持井井有条。

我想要多个 containers/images 用于各种软件,以及一个包含所有 ROS 依赖项的映像。如何让一个容器使用依赖主容器中的 apt-packaged?

例如,我可能有以下容器:

如何在另一个容器中使用容器中的 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 之间共享。

这个例子可以展开多次。