【发布时间】:2020-04-03 17:59:02
【问题描述】:
我在 docker 容器上运行 composer,我正在尝试安装 predis,所以我运行命令
docker-compose run --rm composer 需要 predis/predis
但我得到了这个错误
谁能解释一下如何解决?
这是我的 dockerfile
FROM php:7.2-fpm-alpine
RUN docker-php-ext-install pdo pdo_mysql
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer --version
这就是我的 docker-compose
services:
nginx:
image: nginx:stable-alpine
container_name: nginx
ports:
- "8088:80"
volumes:
- ./src:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- mysql
- php
networks:
- laravel
mysql:
image: mysql:5.7.22
container_name: mysql
restart: unless-stopped
tty: true
ports:
- "4306:3306"
environment:
MYSQL_DATABASE: homestead
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
SERVICE_TAGS: dev
SERVICE_NAME: mysql
networks:
- laravel
php:
build:
context: .
dockerfile: Dockerfile
container_name: php
volumes:
- ./src:/var/www/html
ports:
- "9000:9000"
networks:
- laravel
redis:
image: redis:5.0.0-alpine
restart: always
container_name: redis
ports:
- "6379:6379"
networks:
- laravel
【问题讨论】:
-
通常像
docker-compose run这样的命令会将文本写入控制台,而不是图像。你能用命令的实际输出替换那个图像吗?您是否还可以包含一个带有足够源代码的minimal reproducible example(可能至少是相关的docker-compose.yml块和图像的Dockerfile)来演示这个问题? -
@David 编辑了它
标签: docker docker-compose composer-php