ruby-on-rails – Windows上的Docker“无法找到Gemfile”

我正在尝试使用
Windows作为主机操作系统来学习Docker,以使用
Docker Hub中的Rails映像创建容器.

我创建了一个Dockerfile,其中包含以下内容和一个空的Gemfile,但是我仍然收到错误“找不到Gemfile”.

Dockerfile

FROM rails:4.2.6

我使用的命令如下(不了解它们实际上做了什么):

ju.oliveira@br-54 MINGW64 /d/Juliano/ddoc
$docker build -t ddoc .
Sending build context to Docker daemon 4.608 kB
Step 1 : FROM rails:4.2.6
 ---> 3fc52e59c752
Step 2 : MAINTAINER Juliano Nunes
 ---> Using cache
 ---> d3ab93260f0f
Successfully built d3ab93260f0f
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.


$docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app ruby:2.1 bundle install
Unable to find image 'ruby:2.1' locally
2.1: Pulling from library/ruby
fdd5d7827f33: Already exists
a3ed95caeb02: Pull complete
0f35d0fe50cc: Already exists
627b6479c8f7: Already exists
67c44324f4e3: Already exists
1429c50af3b7: Already exists
f4f9e6a0d68b: Pull complete
eada5eb51f5d: Pull complete
19aeb2fc6eae: Pull complete
Digest: sha256:efc655def76e69e7443aa0629846c2dd650a953298134a6f35ec32ecee444688
Status: Downloaded newer image for ruby:2.1
Could not locate Gemfile

所以,我的问题是:

>为什么它找不到Gemfile,如果它与Dockerfile在同一个目录中?
>命令docker运行什么–rm -v“$PWD”:/usr/src / app -w /usr/src / app ruby​​:2.1 bundle install吗?
>如何在我的主机文件系统中设置一个文件夹以同步到容器(我正在尝试使用Windows上的Docker为Rails项目创建开发环境)?

我不知道这是否有任何区别,但我正在通过“Docker Quickstart Terminal”快捷方式执行的bash运行此命令.我认为它所做的只是在默认的VM中运行这些命令,虽然我可以创建一个新的(但我不知道我是否应该这样做).

谢谢你,抱歉所有这些问题,但是知道Docker对我来说似乎很困惑.

最佳答案 您必须在HOME目录中的某个位置挂载HOST目录(例如c:/ Users / john / *)

点赞