-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用 Debian 10.13 时运行 sudo docker compose up -d 报错 #22
Comments
这里我看了下,这个地方 compose 文件里写 bool 值是其实不正确的,可能是我使用的 compose 插件版本做了额外的转换,能够正常使用,但是实际这个写法不是标准的。 YAML 文件支持 bool 类型的 value,但是对于环境变量来说, linux 环境变量都是字符串,如果在 compose 文件里用 map 的形式编写 env,value 又是 bool类型的话,解析器就会把那个值解析为 bool,但是linux 的环境变量需要的字符串,这个地方类型不匹配,你贴的报错日志就是这个情况。 docker 官方的文档是有提到环境变量所有的 bool 值都必须要用引号包起来,参见这里 看起来是个已知的问题。保险起见我后续会把项目中这种写法全部改掉 |
目前不清楚是哪个版本开始对上面说的那个情况做了兼容,我本地使用的版本没有出现这个问题,贴一下我本地使用的 os 和版本,供参考 ➜ uname -a
Linux light-sg 6.1.0-11-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64 GNU/Linux
➜ docker compose version
Docker Compose version v2.21.0
➜ docker version
Client: Docker Engine - Community
Version: 24.0.7
API version: 1.43
Go version: go1.20.10
Git commit: afdd53b
Built: Thu Oct 26 09:08:02 2023
OS/Arch: linux/amd64
Context: default
➜ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
|
非常抱歉,我忘记把自己的服务器环境贴上来了,下面是我自己的服务器环境
我查询了一下 Docker Compose 相关的更新日志: https://docs.docker.com/compose/release-notes/#170
https://docs.docker.com/compose/release-notes/#bug-fixes-26
所以这解释了在 |
使用 Debian 10.13 搭建 Ultimate 版本时报错
配置完成后
使用
sudo docker-compose up -d
指令时报错报错信息如下
于是将 environment 中所有值为
true
和false
的配置修改为"true"
和"false"
才运行成功请问一下这是由于 docker-compose 的版本问题造成的吗还是别的什么原因
The text was updated successfully, but these errors were encountered: