在遵循docker-compose教程时没有创builddjango应用程序

我正在关注docker-compose教程,试图弄清楚如何获得一个django应用来部署: http : //docs.docker.com/compose/django/

一切都很顺利(应用程序甚至可以工作!),但是django项目文件夹composeexample不是在我的本地项目目录中创build的。

我留下了一个工作“它工作!” 运行后页面:

$ docker-compose run web django-admin.py startproject composeexample .

但是我不能继续编辑composeexample/settings.py ,正如本教程所示:该文件夹在我的机器上不存在(它存在于容器中,但对我来说不好)!

这个教程是错误的吗? 我不正确吗?

谢谢!

更新:

这是问题所在,我使用docker-machine通过远程docker实例运行整个进程。 使用远程docker机器时,有关本地文件夹共享的规则是否有所不同?

您需要设置一个dockerfile,以便在执行docker build时,将您的本地代码复制到容器中。 要开始,您需要将文件从容器复制到本地。 在这里看看。 或者用你自己的django应用程序覆盖目录

将文件从主机复制到Docker容器

例:

 FROM python:2.7 RUN mkdir /code WORKDIR /code ADD . /code/ 

ADD。 docker文件中的/ code /实际上将在Docker镜像中挂载本地工作目录。 所以你可以改变你的工作目录内的代码,同样的将在Docker容器内更新,因为工作目录被安装在同一个目录中。

如教程中所示使用dockerfile生成图像,并使用相同的图像来创build容器。

我碰到同样的问题,挂载/代码没有显示出来。 我在mac上使用dockerDocker版本1.8.1,构buildd12ea79 )( mac os x yosemite 10.10.5

遵循Docker安装: https : //docs.docker.com/installation/mac/

按照Django的部分: https : //docs.docker.com/compose/django/

 f$ docker-compose run web django-admin.py startproject composeexample . ........... ... Removing details for brevity ... ........... Removing intermediate container 515d53d20d29 Step 6 : ADD . /code/ ---> ea2b28ba6ebc Removing intermediate container 6d6f0f9e2fe0 Successfully built ea2b28ba6ebc f$ ls Dockerfile docker-compose.yml requirements.txt