Can';我不知道我是如何错误配置docker compose文件的
我遵循了多个指南和教程 这是我的docker撰写文件 它给出了以下错误:Can';我不知道我是如何错误配置docker compose文件的,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我遵循了多个指南和教程 这是我的docker撰写文件 它给出了以下错误: services.mysql.environment.volumes包含[“mysql\u data:/var/lib/mysql”],这是一种无效类型,它应该是字符串、数字或空值 它创建了一个名为_volumename的卷 我只是不明白我犯的错误 version : '3' services: mysql: container_name: auth_db restart: always ima
services.mysql.environment.volumes包含[“mysql\u data:/var/lib/mysql”],这是一种无效类型,它应该是字符串、数字或空值
它创建了一个名为_volumename的卷
我只是不明白我犯的错误
version : '3'
services:
mysql:
container_name: auth_db
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: supersecret
MYSQL_DATABASE: name
MYSQL_USER: user
MYSQL_PASS: supersecret2
volumes:
- mysql_data:/var/lib/mysql
ports:
- 3306:3306
auth-service:
build: ./authservice
volumes:
- ./authservice:/usr/src/app
ports:
- 5000:5000
volumes:
mysql_data:
更多信息
如果我将音量行更改为
volumes:“-mysql\u data:/var/lib/mysql”
docker compose文件将编译,但
docker volume ls
提供此输出
local 4fa81a11596c2b67c2bb799d54afc6009ebcd82fcd10acae53a5aeefd005fd36
local 8636df909155569e8ebf0649f4c192616d0b6778d5eb7932b1f9542db55a07d8
local 832739c89f3b33ad0a1974ad7dc2ee9342373f904af3b2be5934331bae50b5e6
local e5bb4a869f54ce3200d5a1fe129bc1f8ee46515cf03d9dd2ff327430d792117b
local e35a38127fcb07702a58133883a021aa56c4aad6c439d254f32a119ad380d808
local hell_mysql_data
docker compose文件所在的当前目录是地狱,因此我认为它的前缀来自您的问题是关于缩进,卷和端口必须是服务定义中的顶级,如下所示:
version : '3'
services:
mysql:
container_name: auth_db
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: supersecret
MYSQL_DATABASE: name
MYSQL_USER: user
MYSQL_PASS: supersecret2
volumes:
- mysql_data:/var/lib/mysql
ports:
- 3306:3306
auth-service:
build: ./authservice
volumes:
- ./authservice:/usr/src/app
ports:
- 5000:5000
volumes:
mysql_data:
你试过
/mysql\u data:/var/lib/mysql
?我没试过。但所有的资源都表明这是不必要的。比如这个。我觉得这应该行得通。但我遗漏了一些显而易见的东西——“mysql_data:/var/lib/mysql”,您的识别似乎也错了。卷和端口应与环境、映像、重新启动和容器处于同一级别。卷:
和端口:
缩进的级别太高。(注意错误消息中的“环境”一词,你不应该想到。)@Fábiocorriea即使你告诉它,我仍然没有注意到,谢谢大家的回复:D