在本地,当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'
答案 0 :(得分:1)
您的问题是在构建期间添加/app
,删除旧配置并移动新配置。但是然后docker-compose up
启动容器,然后用您的本地{-{1}}映射覆盖 /app
文件夹。
修正? volumes
从EITHER
中删除volumes
,但是在这种情况下,每次对代码进行更改时,您都必须重新构建映像。 docker-compose.yml
像这样重写OR
:
volumes
它将将docker配置映射到您的“旧”配置。