我正在docker中使用php和mysql设置新环境。我正在使用docker-compose文件。在安装时,我意识到我需要更多的PHP扩展。我在网上进行了建议,建议编写一个docker文件并在docker-compose.yml中调用它。显示下面的错误 services.web的不受支持的配置选项:'dockerfile'
请在下面找到docker-compose.yml和Dockerfile
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: asdf
# MYSQL_DATABASE: test_db
# MYSQL_USER: root
# MYSQL_PASSWORD: asdf
volumes:
- /var/mysql/:/var/lib/mysql
ports:
- "3306:3306"
web:
# image: alankar1985/php7.2:apache2
container_name: php_web
dockerfile: Dockerfile
# command: apt-get install -y php-gd
depends_on:
- db
volumes:
- /var/www/html/:/var/www/html/
ports:
- "80:80"
stdin_open: true
tty: true
Dockerfile
FROM alankar1985/php7.2:apache2
RUN apt install php-gd
services.web的不受支持的配置选项:“ dockerfile”
答案 0 :(得分:2)
解决此类问题的最佳方法是检查特定版本的docker-compose参考-https://docs.docker.com/compose/compose-file/。
未经测试,问题是因为您需要将dockerfile置于构建之下。
旧:
web:
dockerfile: Dockerfile
新功能:
web:
build:
context: .
dockerfile: Dockerfile
由于您使用的是标准Dockerfile文件名,因此您也可以使用:
build:
context: .
从参考页面:
DOCKERFILE备用Dockerfile。
Compose使用一个替代文件进行构建。构建路径还必须 被指定。
build:
context: .
dockerfile: Dockerfile-alternate