主机: Centos 7 Docker版本: 19.03.12,build 48a66213fe Docker组合版本:版本1.26.2,构建eefe0d31
我正在使用提供给这里的关于在shell中指定环境变量的建议,然后将这些变量传递到撰写文件中。所以我的docker-compose文件如下所示:
version: '3.8'
services:
springboot:
image: <my image>
ports:
- "8445:8445"
depends_on:
- "database"
environment:
- SPRING_PROFILES_ACTIVE=dev
database:
image: "mongo"下面是我遇到的错误:
ERROR: for 39b165c237b9_deploy_springboot_1 Cannot create container for service springboot: invalid volume specification: 'a9d7debde5ffcba2a023c12d5f1e822567e9b4047a1bda76efeefbfc80c1f622:app/data:rw': invalid mount config for type "volume": invalid mount path: 'app/data' mount path must be absolute相应的Docker文件确实有对VOLUME app/data的引用,但是这似乎没有争议。
如果我取出environment块,它似乎工作得很好(虽然应用程序启动时没有正确的配置,但至少没有错误)。
那么,向容器传递shell环境变量的正确方法是什么呢?
感谢@David,编辑,它确实是原始Docker文件中的卷声明--与docker-compose无关。删除了它,现在起作用了。谢谢!
发布于 2020-08-11 15:44:40
有两种方法可以指定停靠目录。
发布于 2020-08-11 15:52:57
尝试用SPRING_PROFILES_ACTIVE: dev代替SPRING_PROFILES_ACTIVE: dev,所以用:替换=。还应该将volume添加到docker-compose文件中:
version: "3.8"
services:
.
.
volumes:
- Path/to/your/volume
environment:
ENV_VAR1: Value1
ENV_VAR2: Value2
.
.
.根据错误消息,路径必须是绝对的。
https://stackoverflow.com/questions/63361515
复制相似问题