Вик*_*ьев 2 environment-variables docker docker-compose
我正在尝试通过 docker-compose 启动 phpserver。我将 3 个文件放在我的工作目录中。
.env docker-compose.yml Dockerfile
.env
##PATHS
DB_PATH_HOST=./databases
APP_PATH_HOST=./blog
APP_PATH_CONTAINER=/var/www/html/
MYSQL_ROOT_PASSWORD=123456
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
和 Dockerfile
FROM php:7.2-apache
RUN docker-php-ext-install \
pdo_mysql \
&& a2enmod
rewrite
Run Code Online (Sandbox Code Playgroud)
但是在我尝试跑步之后
docker-compose up --build
Run Code Online (Sandbox Code Playgroud)
我有问题
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
Run Code Online (Sandbox Code Playgroud)
我试图将 docker-compose 文件版本更改为 2 - 不起作用我试图使用 '' 和 "" 同样的问题。
我想成功运行我的服务器。
以下两种格式有效:
格式#1
environment:
MYSQL_ROOT_PASSWORD: rootpassword
Run Code Online (Sandbox Code Playgroud)
格式#2
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5182 次 |
最近记录: |