Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 Windows 7上的Docker Compose:找不到文件或.bundle/目录_Ruby On Rails_Ruby_Docker_Docker Compose - Fatal编程技术网

Ruby on rails Windows 7上的Docker Compose:找不到文件或.bundle/目录

Ruby on rails Windows 7上的Docker Compose:找不到文件或.bundle/目录,ruby-on-rails,ruby,docker,docker-compose,Ruby On Rails,Ruby,Docker,Docker Compose,当我运行命令docker compose up 找不到文件或.bundle/目录 以代码10退出 下面是代码 注意:我已使用Oracle VM virtual box manager将代码的父目录作为永久共享文件夹添加到VM 有什么想法可以解决这个问题吗 Dockerfile Docker Compose 您正在容器中创建.bundle目录,然后使用主机目录将其屏蔽,因为您使用的是卷: volumes: - .:/student-api 您需要在主机上运行捆绑安装,或从撰写文件中删除卷

当我运行命令
docker compose up

找不到文件或.bundle/目录
以代码10退出

下面是代码

注意:我已使用Oracle VM virtual box manager将代码的父目录作为永久共享文件夹添加到VM

有什么想法可以解决这个问题吗

Dockerfile Docker Compose
您正在容器中创建
.bundle
目录,然后使用主机目录将其屏蔽,因为您使用的是卷:

volumes:
    - .:/student-api

您需要在主机上运行
捆绑安装
,或从撰写文件中删除卷。

您是否正在主路径(例如c:/Users/john/*)内装载主机目录


请注意,在主路径之外执行此操作无法正常工作。

Windows上的“.”在哪里?将学生api的卷装载更改为Docker主机目录位置的完整路径,例如
/c/Users/joe/DockerRoj
,谢谢您的回答。我正在容器中创建bundle目录,以便在运行gem时缓存gem并节省时间。我使用volume,因为我计划使用docker进行本地开发。这使我在每次进行更改时不必构建图像。如果我的方法是错误的,请更正。我认为您的方法是正确的,它只会迫使您在进行开发时在主机上运行它。
db:
  image: postgres
  ports:
    - "5432:5432"
web:
  build: .
  command: bundle exec rails s -p 3000 -b '0.0.0.0'
  volumes:
    - .:/student-api
  ports:
    - "3000:3000"
  links:
    - db
volumes:
    - .:/student-api