我正在使用this热门教程,使用docker-compose
创建一个包含Django和nginx的多容器Docker应用程序。我的主机是Ubuntu 14.04。我已经像这样定义了我的容器:
web:
restart: always
build: ./web
expose:
- "8000"
env_file: .env
command: /usr/local/bin/gunicorn docker_django.wsgi:application -w 2 -b :8000
nginx:
restart: always
build: ./nginx/
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
links:
- web:web
这是web
的完整Dockerfile:
FROM python:3.5-onbuild
这就是我创建机器,构建和运行的方式:
$ docker-machine create -d virtualbox dev
$ eval "$(docker-machine env dev)"
$ docker-compose build
$ docker-compose -f dev.yml up -d
一切都顺利执行,除了我的应用程序文件夹(web
)的内容在运行时实际上不在容器中。我只看到Docker试图在构建过程中复制它们:
Step 1 : COPY . /usr/src/app
我尝试在Dockerfile中添加COPY
命令,但失败了:
Step 2 : COPY web /usr/src/app
ERROR: Service 'web' failed to build: lstat web: no such file or directory
web
文件夹就在那里。我究竟做错了什么?如何将我的应用程序放入容器中?