我希望有人能够帮助我了解我在这里缺少的东西。我正在尝试使用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
我花了很长时间试图解决这个问题,所以我想问一些比我知识渊博的人。我在这里想念什么?
答案 0 :(得分:2)
看起来您可能有错字:
volumes:
- .:/usr/scr/app
scr
与src