Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在不运行docker compose build的情况下更新容器代码?_Ruby On Rails_Ruby_Docker_Docker Compose - Fatal编程技术网

Ruby on rails 如何在不运行docker compose build的情况下更新容器代码?

Ruby on rails 如何在不运行docker compose build的情况下更新容器代码?,ruby-on-rails,ruby,docker,docker-compose,Ruby On Rails,Ruby,Docker,Docker Compose,当我在开发过程中对任何代码进行更改时,直到我再次运行docker compose-up--build,更改才会反映出来 Dockerfile: RUN mkdir /myapp WORKDIR /myapp COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock RUN bundle install COPY . /myapp 。。。和docker compose.yml: server: tty: true

当我在开发过程中对任何代码进行更改时,直到我再次运行
docker compose-up--build
,更改才会反映出来

Dockerfile

RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp
。。。和
docker compose.yml

server:
    tty: true
    stdin_open: true
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && rake db:create && rake db:migrate &&  bundle exec rails s -p 3000 -b '0.0.0.0'"

    links:
      - db
      - redis

    volumes:

         - ./myapp
这个设置在我的操作系统上运行得很好,不知道为什么它在Windows上运行得不一样。 本地存储的文件夹结构
C:/users/docker/projects/myapp

非常感谢您的帮助

在此处找到解决方案: 这对我有用

右键单击目录 单击属性 单击安全选项卡 单击“编辑”按钮。 单击添加按钮 在文本框中键入“用户” 单击“检查名称”(应自动填写/更新) 点击OK 突出显示新添加的组。 10 . 在“对[用户/组名]的权限”下,选择完全控制 单击应用 单击“确定”
单击“确定”

看起来您已经注释掉了
docker compose.yml中
/myapp
卷映射
docker compose.yml
-在
Dockerfile
中的
复制是生成映像时完成的时间点复制,
volumes
映射基本上是在运行时按预期路径将本地签出装载到容器中(删除
volumes
映射,您将运行生成映像时复制到映像中的签出版本)。@masseyb,我在问题中对其进行了评论,我修正了这个问题。这并不能解决问题。