如何重命名和删除Dockerfile中的文件

时间:2018-09-20 18:44:35

标签: docker docker-compose

在本地,当docker复制文件时,我有一个包含2个文件的文件夹:

database.yml database.docker.yml

运行docker-compose up时,我想删除文件database.yml,然后将另一个文件database.docker.yml重命名为database.yml

这是我现在拥有的,但是它不起作用:

ADD . /app
RUN rm /app/config/database.yml
RUN mv /app/config/database.docker.yml /app/config/database.yml

我为此服务的docker-compose是:

rails:
    build: ../rails-web
    volumes:
     - ../rails-web:/app
    ports:
      - "3000:3000"
    depends_on:
      - db
    command: puma -C config/puma.rb
    env_file:
      - '.env'

1 个答案:

答案 0 :(得分:1)

您的问题是在构建期间添加/app,删除旧配置并移动新配置。但是然后docker-compose up启动容器,然后用您的本地{-{1}}映射覆盖 /app文件夹。

修正? volumesEITHER中删除volumes,但是在这种情况下,每次对代码进行更改时,您都必须重新构建映像。 docker-compose.yml像这样重写OR

volumes

它将将docker配置映射到您的“旧”配置。