我正在尝试通过 docker-compose 启动 phpserver。 我在我的工作目录中放了 3 个文件。
.env docker-compose.yml 文件
.环境
##PATHS
DB_PATH_HOST=./databases
APP_PATH_HOST=./blog
APP_PATH_CONTAINER=/var/www/html/
MYSQL_ROOT_PASSWORD=123456
docker-compose.yml
版本:'3'
services:
web:
build: .
environment:
- APACHE_RUN_USER=www-data
volumes:
- ${APP_PATH_HOST}: ${APP_PATH_CONTAINER}
ports:
- 8080:80
working_dir:
- ${APP_PATH_CONTAINER}
db:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
volumes:
- ${DB_PATH_HOST}: /var/lib/mysql
adminer:
image: adminer
restart: always
ports:
- 6080:8080
composer:
image: composer:1.7
volumes:
- ${APP_PATH_HOST}: ${APP_PATH_CONTAINER}
working_dir: ${APP_PATH_CONTAINER}
command: composer install
和 Dockerfile
FROM php:7.2-apache
RUN docker-php-ext-install \
pdo_mysql \
&& a2enmod
rewrite
但是在我尝试运行之后
docker-compose up --build
我有问题
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
services.web.working_dir contains an invalid type, it should be a string
services.composer.volumes contains an invalid type, it should be a string
services.web.volumes contains an invalid type, it should be a string
services.db.volumes contains an invalid type, it should be a string
我尝试将 docker-compose 文件版本更改为 2 - 不起作用 我试过用''和""同样的问题。
我想成功运行我的服务器。
最佳答案
以下两种格式有效:
格式#1
environment:
MYSQL_ROOT_PASSWORD: rootpassword
格式#2
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
关于docker services.web.working_dir 包含无效类型,它应该是一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56128696/