gpt4 book ai didi

Docker多重继承entry_point执行

转载 作者:行者123 更新时间:2023-12-02 03:41:16 29 4
gpt4 key购买 nike

我有以下Dockerfile:

FROM gitlab-registry.foo.ru/project/my_project
FROM aerospike/aerospike-server

在第一个和第二个上方有一个ENTRYPOINT。众所周知,只会执行一个ENTRYPOINT。是否存在运行所有父项 ENTRYPOINT 的方式?

我可以使用 Docker-Compose 来完成这样的任务吗?

最佳答案

从上面的评论来看,人们对 docker 正在做的事情存在着根本性的误解。容器是一个独立的进程。当您启动 docker 容器时,它会为您的应用程序启动一个进程,当该进程退出时,容器也会退出。一个好的最佳实践是每个容器一个应用程序。尽管有多种方法可以启动多个程序,但我不会推荐它们,因为它会使运行状况检查、升级、信号处理、日志记录和故障检测变得复杂。

没有干净的方法将多个图像合并在一起。在您列出的 Dockerfile 中,您定义了一个多阶段构建,该构建可用于将文件从第一阶段复制到最后阶段。生成的图像将是最后一个 FROM 部分,而不是两个图像的合并。多阶段构建的典型用途是替换单独的编译镜像或外部构建过程,并使用带有编译镜像和运行时镜像的单个命令,该命令在运行时镜像内输出应用程序。这与您正在寻找的内容非常不同。

在 docker 中运行多个应用程序的首选方法是使用来自不同镜像的多个容器,并使用 docker 网络将它们连接在一起。您需要从 docker-compose.yml 开始它可以由独立 Docker 引擎上的 docker-compose 来使用,也可以与 docker stack deploy 一起使用来使用 Swarm 模式的功能。

关于Docker多重继承entry_point执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48537112/

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