docker-compose - Docker Compose 文件中的问题
问题描述
我是新码头工人。我在 Docker compose 中遇到问题。请帮助我。
下面是我的 docker-compose.yaml 文件
version: "2"
services:
database:
image: mysql:5.7
volumes:
- ./data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress
depends_on:
- database
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
下面是我得到的错误。请帮我修复错误。
ERROR: The Compose file './docker-compose.yaml' is invalid because:
services.wordpress.volumes contains an invalid type, it should be an array
解决方案
您将数据库数据安装到主机上,但使用了db_data
在服务内部调用的(未声明的)卷wordpress
。我已经将卷添加db_data
到卷列表中,并将其作为卷添加到database
服务中。
我猜你正在使用这个设置进行本地开发,所以我还安装了wp-content
你正在运行的文件夹docker-compose up
,/var/www/html/wp-content
所以上传、插件和主题等文件可以存储在版本控制中/在你的本地机器上而不是在容器内。
version: "2"
services:
database:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress
depends_on:
- database
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- "./wp-content:/var/www/html/wp-content"
volumes:
db_data:
推荐阅读
- arrays - Perl-Postgres 列数组和引号
- sql - 在PostgreSQL中替换字符串右侧的字符
- python-3.x - 删除由分隔符分隔的顺序重复单词
- python - Python Pyspark 脚本在整个数据集上失败,但适用于单个文件
- c# - ML.Net 足球预测返回不正确的结果
- python - 在python中使用递归函数
- c# - Expander 超出最大高度,无法添加 ScrollViewer
- netlogo - 在 Netlogo 中为补丁分配值
- java - 如何检查方法transferMoney(User fromUser,User toUser,int amount)中的货币是否不同?
- python - Python3,列表中的元组,如何获取其中的所有值