无法与docker-compose同步文件

时间:2018-11-25 03:26:39

标签: ruby-on-rails docker docker-compose

我希望有人能够帮助我了解我在这里缺少的东西。我正在尝试使用docker-compose exec在容器中创建文件,但是它们从未显示在安装的卷中,我也不知道为什么。详细信息如下:

docker-compose.yml

version: '3'

services:

  web:
    build: .
    command: bin/rails s -b 0.0.0.0
    ports:
      - "3000:3000"
    volumes:
      - .:/usr/scr/app

  redis:
    image: redis

Dockerfile

FROM ruby:2.5

RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \
nodejs

COPY Gemfile* /usr/src/app/
WORKDIR /usr/src/app
RUN bundle install

COPY . /usr/src/app 

CMD ["bin/rails", "s", "-b", "0.0.0.0"]

现在,我首先使用docker-compose up -d调出容器,然后再执行第二个命令,在该命令中,我将尝试运行rails命令以生成一系列文件,例如docker-compose exec web bin/rails g controller test,该命令的输出表示文件生成的很好,尽管安装/同步了docker-compose.yml文件中的本地目录,但它们没有显示在我的笔记本电脑上。

有趣的是,我 am 能够运行以下命令并使用docker run -it -rm -v ${PWD}:/usr/src/app bin/rails g controller test

获得正确的结果

我花了很长时间试图解决这个问题,所以我想问一些比我知识渊博的人。我在这里想念什么?

1 个答案:

答案 0 :(得分:2)

看起来您可能有错字:

volumes:
  - .:/usr/scr/app

scrsrc