kra*_*r65 38 docker docker-compose
我克隆了一个使用docker-compose的docker设置.一位远程开发人员确认它有效,所以我的问题似乎与我的设置有关.
我跑了docker-compose up,但目前给了我这个:
$ docker-compose up
Creating volume "mycompanydocker_mysql-data" with local driver
Creating volume "mycompanydocker_redis-data" with local driver
Creating volume "mycompanydocker_app-data" with local driver
Creating volume "mycompanydocker_mongo-data" with local driver
mycompanydocker_redis_1 is up-to-date
mycompanydocker_mongo_1 is up-to-date
mycompanydocker_mysql_1 is up-to-date
Building app
ERROR: Cannot locate specified Dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)
我docker-compose.yml看起来像这样:
version: '2'
services:
mysql:
build: mysql/.
env_file: env
expose:
- 3306
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
mongo:
build: mongo/.
env_file: env
expose:
- 27017
ports:
- "27017:27017"
volumes:
- mongo-data:/data/db
redis:
build: redis/.
env_file: env
expose:
- 6379
ports:
- "6379:6379"
volumes:
- redis-data:/data
app:
build: app/.
env_file: env
expose:
- 80
ports:
- "80:80"
volumes:
# To mount a local directory, change this
# To use a docker volume
- app-data:/app
# local app
# - ./mycompany:/app
depends_on:
- mysql
- mongo
- redis
volumes:
app-data:
driver: local
mysql-data:
driver: local
redis-data:
driver: local
mongo-data:
driver: local
Run Code Online (Sandbox Code Playgroud)
树看起来像这样:
$ tree
.
??? README.rst
??? app
? ??? Dockerfile
? ??? bin
? ? ??? setup.sh
? ? ??? start-nginx.sh
? ? ??? start-rqworker.sh
? ? ??? start.sh
? ? ??? update.sh
? ??? etc
? ? ??? nginx
? ? ? ??? sites-available
? ? ? ??? app
? ? ??? supervisor
? ? ? ??? conf.d
? ? ? ??? supervisord.conf
? ? ??? supervisord.conf
? ??? ssh
? ??? id_rsa
??? docker-compose.yml
??? env
??? mongo
? ??? Dockerfile
??? mysql
? ??? Dockerfile
??? redis
??? Dockerfile
Run Code Online (Sandbox Code Playgroud)
我不明白的是,除了文件夹中的那个之外,它docker-compose似乎找不到所有Dockerfile的东西app.我在OSX 10.11.2上安装了以下内容:
Docker version 1.10.3, build 20f81dddocker-compose version 1.6.2, build 4d72027我刚开始使用Docker,我有点卡在这里.有人知道什么可能是错的或我如何调试这个?欢迎所有提示!
[编辑]我忘了提到没有隐藏的.dockerignore文件:
$ ls -la
total 56
drwx------@ 11 kramer staff 374 25 mrt 14:13 .
drwx------+ 1134 kramer staff 38556 26 mrt 17:27 ..
-rw-r--r--@ 1 kramer staff 8196 26 mrt 08:14 .DS_Store
-rw-r--r--@ 1 kramer staff 23 24 mrt 15:29 .gitignore
-rw-r--r--@ 1 kramer staff 3879 24 mrt 15:29 README.rst
drwxr-xr-x@ 7 kramer staff 238 25 mrt 14:26 app
-rw-r--r--@ 1 kramer staff 868 25 mrt 17:50 docker-compose.yml
-rw-r--r--@ 1 kramer staff 219 24 mrt 15:29 env
drwxr-xr-x@ 3 kramer staff 102 24 mrt 15:29 mongo
drwxr-xr-x@ 3 kramer staff 102 24 mrt 15:29 mysql
drwxr-xr-x@ 3 kramer staff 102 24 mrt 15:29 redis
Run Code Online (Sandbox Code Playgroud)
并且.gitignore文件也不包含任何特殊内容(不知道是否重要):
$ cat .gitignore
.project
.pydevproject
Run Code Online (Sandbox Code Playgroud)
Xio*_*Jin 33
以下是如何指定dockerfile.抱歉,我不能在评论中这样做,因为那里不支持格式化.
https://docs.docker.com/compose/compose-file/#context
app:
build:
context: app
dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)
我在Windows上遇到docker-compose.yml了这个由Visual Studio模板创建的问题.模板创建为:
build:
context: .
dockerfile: <ProjectFolder>\Dockerfile
Run Code Online (Sandbox Code Playgroud)
我得到了错误:Cannot locate specified Dockerfile: <ProjectFolder>\Dockerfile.我改变了\到/,并开始对我来说(即工作<ProjectFolder>/Dockerfile).如果有人在Windows上出现此错误,这可能会有所帮助.
小智 6
对里面的docker-compose.yml文件做改动,以满足Dockerfile:
app:
build: ./app
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55651 次 |
| 最近记录: |