dockerfile php扩展,如何将php gd扩展名添加到Dockerfile

尝试使用Alpine进行部署时出现此错误:

phpoffice/phpspreadsheet 1.2.1 requires ext-gd * -> the requested PHP extension gd is missing from your system.

这是我的Dockerfile:

FROM php:7.2-alpine

RUN apk update

RUN apk add zlib-dev gd php7-gd

RUN docker-php-ext-install sockets pdo_mysql zip

RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd

错误是jenkins跑步的输出.我认为这里附近某处失败了…

build:

docker run --rm --tty --user $$(id -u):$$(id -g) \

--volume "$$(pwd)":/app \

--volume "$$(pwd)/ops/jenkins/github.token":/tmp/auth.json \

--volume "$$(pwd)/ops/jenkins/composer_trust_github.com":/root/.ssh/config \

composer install --no-dev

rm -rf ops/docker/app.tar.gz

tar -czvf ops/docker/app.tar.gz -X ops/jenkins/build_excludes .

docker run --rm --tty --user $(id -u):$(id -g) \

--volume "$(pwd)":/app \

--volume "$(pwd)/ops/jenkins/github.token":/tmp/auth.json \

--volume "$(pwd)/ops/jenkins/composer_trust_github.com":/root/.ssh/config \

--volume "$(pwd)/ops/jenkins/php/php.ini":/usr/local/etc/php/php.ini \

composer install --no-dev

[32mLoading composer repositories with package information[39m

[32mInstalling dependencies from lock file[39m

[37;41mYour requirements could not be resolved to an installable set of packages.[39;49m

Problem 1

- Installation request for phpoffice/phpspreadsheet 1.2.1 -> satisfiable by phpoffice/phpspreadsheet[1.2.1].

- phpoffice/phpspreadsheet 1.2.1 requires ext-gd * -> the requested PHP extension gd is missing from your system.

如何正确添加ext-gd?

更新:更多信息

Jenkins依次调用的Makefile命令如下:

prepare:

git clone git@github.com:xxx/go-php-sqs-consumer

cd go-php-sqs-consumer && glide install

docker run --rm -v "${PWD}/go-php-sqs-consumer":/go/src/app -w /go/src/app golang:1.8.1-alpine go build -o consumer

mv go-php-sqs-consumer/consumer ops/docker/consumer

rm -rf go-php-sqs-consumer

build:

echo "{\"github-oauth\":{\"github.com\":\"$$(credstash get github.tech-craft.jenkins-eu-west-1)\"}}" > ops/jenkins/github.token

docker run --rm --tty --user $$(id -u):$$(id -g) \

--volume "$$(pwd)":/app \

--volume "$$(pwd)/ops/jenkins/github.token":/tmp/auth.json \

--volume "$$(pwd)/ops/jenkins/composer_trust_github.com":/root/.ssh/config \

composer install --no-dev

rm -rf ops/docker/app.tar.gz

ansible-vault decrypt config.*.json && chmod a+r config.*.json

tar -czvf ops/docker/app.tar.gz -X ops/jenkins/build_excludes .

archive:

aws s3api put-object --bucket craft-build --key "auth-api/${s3_key_version}.tar.gz" --body "ops/docker/app.tar.gz"

aws s3api put-object --bucket craft-build --key "auth-api/current.tar.gz" --body "ops/docker/app.tar.gz"

containerise:

cd ops/docker && docker build --pull --no-cache -t application-exporter-service .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值