当前位置: 首页 > 知识库问答 >
问题:

如何使用docker-compose和DockerFile构建一个项目的映像?

法兴德
2023-03-14

我有一个使用docker-compose在本地开发中运行的项目

但是,我想知道,对于如何将一个通过docker-compose和应用程序代码库运行多个服务的项目包含到一个带有dockerfile的映像中进行部署,是否有任何建议或建议。

编辑:据我所知,方法是用Dockerfile从应用程序代码库中构建一个新的映像,然后将其包含在部署环境的docker-compose.yml文件中?

编辑二:对混淆表示歉意。我在码头是新的,有一点学习曲线!在这种情况下,似乎可以在gitlab注册表中构建应用程序映像,然后将该映像包含在docker-compose中以进行部署,将尝试它。

共有1个答案

东方英豪
2023-03-14

DR

单个Dockerfile通常不足以替换使用docker-compose制作的整个容器编排,并且不一定是一个好的选择。

您可以将docker-compose.yml文件中的一些信息传递给dockefile(例如要运行的命令),但这不是等价的,您不能对所有docker-compose.yml文件内容都这样做。

但是,您可以用命令行替换docker-compose.yml文件(因为docker-compose正是要替换它)。

但是

请记住,dockerfilesdocker-compose用于两个完全不同的目的。

因此要求“将docker-compose.yml文件转换为dockerfile”实际上并不相关。

这是关于将docker-compose.yml文件转换为一个(或多个)命令行以手动启动容器的更多内容。

docker-compose的目的恰恰是摆脱这些命令行,使事情更简单(它使之自动化)。

从docker文档中:

拥有多个进程是可以的,但是要从Docker中获得最大的好处,请避免一个容器负责整个应用程序的多个方面

因此,如果入口点允许您启动多个进程,或者如果您使用一个supervisor,您就可以这样做,但这可能不一定是最好的主意。

因为我也不确定这对您来说是清楚的,这里是容器和图像之间的区别。

在使用Docker之前,您真的应该检查并尝试理解这一点,因为这是一个非常有必要知道的事情。

 类似资料:
  • 本文向大家介绍Docker如何使用Dockerfile构建镜像,包括了Docker如何使用Dockerfile构建镜像的使用技巧和注意事项,需要的朋友参考一下 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和

  • 问题内容: 构建Docker映像可以在桌面上正常工作。安装Node.js NPM依赖项照常工作。但是,当使用在公司代理后面托管的持续集成服务器(例如Jenkins)时,构建Docker映像将失败。 Node.js NPM依赖关系 在构建Node.js pacakges时,如果在克隆GIT依赖项时无法连接到GIT ,则命令 npm install 失败。 Java Maven,Ruby,具有依赖关系

  • 问题内容: 我想通过docker-compose建立映像并为其设置特定标签。文档说: Compose将使用生成的名称来构建并标记它,然后使用该图像。 但是我找不到指定标签的方法,对于生成的图像,我总是看到“最新”标签。 问题答案: 似乎文档/工具已更新,您现在可以将标记添加到脚本中。这对我来说是成功的。 例: https://docs.docker.com/compose/compose- fil

  • 问题内容: 我正在尝试 使用 官方链接中提到 的API 构建 docker镜像 。 但是我无法获得文件中的内容:示例请求: 有几件事使我感到困惑, 1)在哪里提到 Dockerfile 的 路径 ? 2)“归档文件必须在归档文件的根目录中包含一个构建指令文件,通常称为Dockerfile。” 来自docker docs的此声明,这里的困惑 是存档的根 是 什么 ? 3) 构建图像的详细命令 是什么

  • DockerFile: 在之后,GPG行显示为红色,图像创建失败。为什么?

  • 经过前文对Docker Compose的讲解,我们以Spring Cloud章节的几个示例项目为例,讲解如何使用Docker Compose部署项目: 准备工作 使用到的示例项目有: 项目名称 作用 microservice-api-gateway API Gateway microservice-consumer-movie-ribbon-with-hystrix 服务消费者 microserv