Dockerfile可以用docker-compose.yaml替换吗



我想只使用docker compose来构建和操作容器。是否可以使用Dockerfile的所有功能,但不使用它?

IMHO不是,但我不确定这是不是真的。例如:在docker-compose.yaml中有没有Dockerfile的RUN、ADD、COPY命令的替换?我找不到。

一般来说,不:Dockerfile说明如何构建图像,docker-compose.yml说明如何运行图像。有各种各样的事情组合,在一个地方或另一个地方是不可能做到的。

在某些情况下,您可以模拟Dockerfile可能使用docker-compose.yml指令执行的操作(您可以使用volumes:将内容装入正在运行的容器中,这看起来类似于COPY将内容装入映像中(,但它们并不相同,通常不能仅使用一个,除非您可以仅使用预构建的映像来描述您的应用程序。

我倾向于推荐DockerfileCOPYCMD指令,而不是尝试仅使用docker-compose.yml等效指令。环境变量通常是运行时配置("数据库服务器的主机名是什么?"(,以及在docker-compose.yml或其他运行时配置中指定的那些更有意义的变量。

最新更新