docker - Dockerfile 可以用 docker-compose.yaml 替换吗?
问题描述
我想仅使用 docker-compose 构建和操作容器。是否可以使用 Dockerfile 的所有功能但不使用它来做到这一点?
恕我直言,不是,但我不确定它是否属实。例如:docker-compose.yaml 中 Dockerfile 的 RUN,ADD,COPY 命令是否有任何替换?我找不到。
解决方案
一般来说,不:Dockerfile
说如何构建映像,docker-compose.yml
说如何运行它。有各种组合的事情是不可能在一个地方或另一个地方做的。
在某些情况下,您可以模拟指令Dockerfile
可能会做的事情(您可以使用将内容挂载到正在运行的容器中,这看起来类似于将内容放入图像中),但它们并不相同,您通常不能专门使用一,除非您可以仅使用预构建的图像来描述您的应用程序。docker-compose.yml
volumes:
COPY
我倾向于推荐 DockerfileCOPY
和CMD
指令,而不是尝试仅使用docker-compose.yml
等效项。环境变量通常是运行时配置(“数据库服务器的主机名是什么?”)并且在docker-compose.yml
运行时配置或其他运行时配置中指定更有意义。
推荐阅读
- c# - 如何在 C# 中使用 ews 获取邮箱的属性(类似于 Get-Mailbox run cmdlet 但使用 ews 的输出)
- android - 当a11y更改为大字体时android视图宽度不会变大
- php - Vue.js + PHP 项目 + 翻译
- tensorflow - TensorFlow 的 Keras 应用程序和预处理版本
- azure - Azure:错误 503:为 Azure 中的应用服务切换应用服务计划后服务不可用
- vba - 在excel中创建宏
- javascript - JavaScript 查找最后选中的复选框的索引
- powershell - ODP.NET 在命令 shell 中工作,但作为计划任务失败 (Windows Server 2012 R2)
- html - 如何使用 Razor 编写 HTML 行?
- javascript - node.js如何使用fs来接收get api结果