我在ubuntu 20机器上运行docker-compose 1.25.5,我在它的主文件夹中有一个github repo可以正常工作……我可以毫无问题地进行docker-compose build和docker-compose up,并且容器可以完成预期的工作。github存储库中的磁盘文件是最新的。
然而,作为测试,我创建了一个新文件夹,提取了代码库,并运行docker-compose build,没有任何问题,但当我尝试运行docker-compose up时,我得到了以下错误:
Starting live_evidently_1 ... done
Attaching to live_evidently_1
evidently_1 | Traceback (most recent call last):
evidently_1 | File "app.py", line 14, in <module>
evidently_1 | with open('config.yml') as f:
evidently_1 | IsADirectoryError: [Errno 21] Is a directory: 'config.yml'
live_evidently_1 exited with code 1我的主机上的config.yml是一个文件(当然),而docker-compose.yml文件并不重要:
version: "3"
services:
evidently:
build: ../
volumes:
- ./data:/data
- ./config.yml:/app/config.yml等等。..。
因此,我剩下两个相互关联的问题。1)为什么repo的测试版本失败了,而原始版本是好的(git状态并不重要,我在github上想要的所有文件都是最新的),2)为什么docker-compose认为config.yml是一个文件夹,而它显然是一个文件?我欢迎大家的建议。
发布于 2020-05-20 09:17:58
您需要使用绑定挂载类型。要做到这一点,你必须使用长语法。
就像这样。
volumes:
- type: bind
source: ./config.yml
target: /app/config.ymlhttps://stackoverflow.com/questions/61903397
复制相似问题