【问题标题】:Delay in starting the docker container - More than 10 bind mounts启动 docker 容器的延迟 - 超过 10 个绑定挂载
【发布时间】:2023-03-20 11:05:01
【问题描述】:

我正在尝试在容器内运行 perl 脚本。该脚本将访问 10 多个服务器以进行读写。服务器存在于本地和其他国家/地区。因此,在运行 docker 映像时,我正在绑定安装所有卷。这反过来又会导致启动容器的巨大延迟。

是否有任何最佳方式来处理这种情况?是否可以在启动容器之前预先安装这些卷(例如在 docker build 期间安装)?

【问题讨论】:

  • 您可以运行多个容器,每个容器只处理一个远程服务器,并使用 RabbitMQ 之类的消息总线来协调活动;或者你可以直接在主机上挂载服务器,而不是让 Docker 来管理。

标签: docker docker-compose dockerfile docker-volume


【解决方案1】:

在 docker build 期间,您无法挂载任何东西,因为您实际上是在构建可以在任何地方运行的映像 - 在任何 docker/kubernetes 集群上。 所以 mount 仅在运行命令期间才有意义。

您可以尝试提前创建 nfs(或只是本地卷)卷,并在运行期间按名称挂载它。它可能会更快,因为已经创建了卷。这是一个文档: https://docs.docker.com/engine/reference/commandline/volume_create/ 搜索--opt type=nfs 以下是如何使用创建的卷: https://docs.docker.com/storage/volumes/#start-a-container-with-a-volume

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 2019-12-06
    • 2018-11-03
    • 2021-03-17
    • 2016-10-19
    相关资源
    最近更新 更多