gpt4 book ai didi

nginx - 使用 docker compose 将已安装的工具从一个容器共享到所有容器

转载 作者:行者123 更新时间:2023-12-04 23:15:41 32 4
gpt4 key购买 nike

我对 Docker 很陌生,并且了解容器如何工作和协同工作。我正在创建一个 LEMP 堆栈,其中我将 nginx 和 php7-fpm 作为单独的容器。每个人都有一个 Dockerfile,基本上可以创建我需要的所有内容。不过,我的问题是在一个容器中安装工具(例如 ffmpeg、exiftool 等)时,另一个容器不可用。

是否有可能在所有容器中提供这些工具?

最佳答案

没有直接的方法可以确保安装在一个已定义容器中的工具出现在其他容器中——这就像安装在一个 VM 的文件系统中的应用程序出现在其他 VM 中一样。

从理论上讲,您可以为所有容器提供一个文件系统,并将工具放在该外部文件系统中,但是如果您考虑一下,这不是一个好主意:突然之间,您的容器具有外部依赖项。

这里有两种可行的方法:首先,如果您从头开始构建容器,您可以将这些工具添加到公共(public)基础镜像中,并设置 Dockerfile 的 来自 使用该基本镜像而不是基本操作系统镜像。

其次,如果您在容器中使用第三方镜像,请创建新的 Dockerfile,指向 来自 到第三方镜像,然后在事后安装工具。不幸的是,Dockerfiles 不支持 包括声明,因此您需要将相同的指令分别复制到所有文件中,或者使用预处理器生成 Dockerfile。 (对我来说,这是单个共享基础镜像的一个很好的论据。)

关于nginx - 使用 docker compose 将已安装的工具从一个容器共享到所有容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42563291/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com