![](/img/trans.png)
[英]ERROR: In file './docker-compose.yml', volume must be a mapping, not an array
[英]Docker volume must be a mapping, not a string
我在./wordpress/docker-compose.yaml
有以下文件:
version: '3.3'
serivces:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
evironment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
volumes:
- ./:/var/www/html
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data
當我運行cd./wordpress && docker-compose up -d
,出現以下錯誤:
ERROR: In file './docker-compose.yaml', volume must be a mapping, not a string.
誰能告訴我我做錯了什么?
有一些錯字錯誤首先,像serivces
, evironment
。 他們應該拼出services
和environment
。 同樣對於“...不是字符串”錯誤,只需在卷名后附加“:”,如下所示
volumes: db_data:
我剛才遇到了同樣的問題,關鍵是卷名的縮進,即 db_data。
我通過將卷名與上面示例中wordpress服務下的depends_on放在相同的縮進級別來修復它。 (點擊TAB)
volumes:
mydata:
對比
volumes:
mydata:
這會解決它,它對我有用
volumes:
db_data:
driver: local
version: '3.3'
serivces:
db:
image: mysql:5.7
command: bash -c "mkdir -p /var/lib/mysql/"
volumes:
- db_data:/var/lib/mysql/
restart: always
evironment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
volumes:
- ./:/var/www/html
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data: {}
save as docker-compose.yml
cd wordpress
docker-compose up
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.