You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否可为单个Docker容器配置bind mount实现本地项目文件挂载?

Ruby项目Docker绑定挂载配置方案

基于docker-compose的配置(推荐,符合你的使用习惯)

直接在项目根目录新建docker-compose.yml,配置内容如下:

version: '3.8'
services:
  ruby-app:
    build: .
    volumes:
      # 核心绑定挂载配置:本地项目目录同步到容器工作目录
      - ./:/usr/src/app
      # 可选优化:单独挂载bundler依赖缓存,避免重复下载依赖
      - bundle_cache:/usr/local/bundle
# 声明依赖缓存卷
volumes:
  bundle_cache:

使用方法

  • 首次使用只需要构建一次镜像:docker-compose build,后续修改代码无需重复构建
  • 运行任意路径下的脚本时,直接在启动命令中指定脚本路径即可覆盖Dockerfile默认的CMD,例如运行项目下./utils/export.rb:
    docker-compose run --rm ruby-app ruby ./utils/export.rb
    
  • 如果固定运行某一个脚本,可直接在docker-compose.yml的ruby-app服务下新增command: ruby ./your/target/path.rb配置,后续直接执行docker-compose up即可启动。

简化版docker命令实现(无需compose)

如果不想用docker-compose,可直接用以下短命令实现绑定挂载运行任意脚本:

docker run --rm -v "$(pwd):/usr/src/app" 你的镜像名称 ruby ./path/to/your/script.rb

注意事项

如果修改了Gemfile或Gemfile.lock,只需要执行docker-compose run --rm ruby-app bundle install更新依赖即可,无需重新构建镜像。


内容的提问来源于stack exchange,提问作者periwinkle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:18:02