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

Bla*_*man 5 docker docker-compose

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

数据库.yml 数据库.docker.yml

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

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

ADD . /app
RUN rm /app/config/database.yml
RUN mv /app/config/database.docker.yml /app/config/database.yml
Run Code Online (Sandbox Code Playgroud)

我为此服务的 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'
Run Code Online (Sandbox Code Playgroud)

Ale*_*hin 3

您的问题是,在构建过程中添加/app、删除旧配置并移动新配置。但随后docker-compose up启动容器,并使用本地文件夹覆盖该文件夹 - 通过将其映射到您的指令。/appvolumes

使固定?EITHER删除- 但在这种情况下volumesdocker-compose.yml每次对代码进行更改时,您都必须重建映像。像这样OR重写:volumes

rails:
    ...
    volumes:
     - ../rails-web:/app
     - ../rails-web/config/database.docker.yml:/app/config/database.yml
    ...
Run Code Online (Sandbox Code Playgroud)

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