仅在使用Dockerfile进行生产时,如何才能复制文件?

时间:2019-05-11 18:52:16

标签: docker docker-compose dockerfile

我最近计划使用docker将我的应用程序部署到服务器。我已经使用docker成功设置了我的开发环境,并与docker-compose纠缠了一段时间。

我的Dockerfile如下:

FROM alpine

# ...

COPY . /app

docker-compose.yml文件如下:

version: '3.7'
services:
  host:
    build:
      dockerfile: .docker/Dockerfile
      context: .
    volumes: 
      - .:/app
# ...

现在的问题是:

如果我发出命令docker-compose up -d,则docker将首先将我的所有文件复制到图像/ app目录(这对于生产而言很重要),然后将我的项目安装到容器/ app中(用于开发)覆盖用于生产的工作。

如果我的项目有1 GB的文件怎么办,我是否要浪费时间等待docker复制所有这些文件而已?

有没有一种方法可以指示Docker如果为开发而构建,则不要复制所有这些文件?还是真的必须针对多个场景(例如测试/分段)制作多个Dockerfile?

如果Dockerfile中的构建过程非常漫长而又复杂,如果我忘记在Dockerdevelopmentfile中进行更改,那么更改Dockerproductionfile这样的话会给生产造成灾难。

如果我需要为我的项目构建5到10张图像,甚至为一家公司为多个项目构建数百张图像,该怎么办?

我认为这不切实际。

请原谅我的天真。 我非常感谢您的一些建议。

0 个答案:

没有答案