【问题标题】:How to update container code without running docker-compose build?如何在不运行 docker-compose build 的情况下更新容器代码?
【发布时间】:2019-10-31 22:55:47
【问题描述】:

当我对开发中的任何代码进行更改时,直到我再次运行 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。

非常感谢任何帮助

【问题讨论】:

  • 看起来您已经在 docker-compose.yml 中注释掉了 ./myapp 的 volumes 映射 - Dockerfile 中的 COPY 是在图像出现时完成的时间点复制构建后,volumes 映射基本上是在运行时将本地结账安装到容器中的预期路径(删除volumes 映射,您将运行在镜像时复制到镜像中的结账版本已建成)。
  • @masseyb,我在问题中评论了它,我解决了这个问题。这并不能解决问题。

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


【解决方案1】:

在这里找到解决方案:https://github.com/docker/for-win/issues/3385 这对我有用。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2019-05-02
    • 2018-08-19
    • 2013-09-22
    相关资源
    最近更新 更多