在遵循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上使用docker ( Docker版本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