前言
之前写过如何使用php的imagick扩展给gif图片添加水印。实现该功能的前提是能正确安装该扩展。实际上该扩展的安装的确费事。这里提供docker下安装教程。
问题
如何安装php的imagick扩展?
解决
这里直接提供一份配置文件,运行之后即可得到已经安装了该扩展的php镜像。
下载地址在底部。下载后解压为php文件夹。
结构如下图。
├── Dockerfile 镜像配置文件
├── data 测试代码
│ ├── 2.gif
│ ├── 2_small.gif
│ ├── LOKICOLA.TTF
│ ├── index.php
│ └── test4.php
└── sources.list
创建镜像,
$ docker build --no-cache .
查看镜像。注意查看IMAGE ID
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
65efc2384c20 36 minutes ago 586MB
创建容器 。其中65efc2384c20 是镜像的id
$ docker run -v 本地data文件夹的绝对路径/data:/data -d 65efc2384c20
查看模块。 其中838是容器的id(不必写完整)
docker exec -it 838 php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
gd
hash
iconv
imagick
json
libxml
mbstring
mcrypt
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
给gif添加水印
$ docker exec -it 838 php /data/test4.php
需要完整使用docker构建的lnmp。请查看之前的文章。docker-compose的实践(lnmp的多容器服务)
该文章涉及的docker已经增加了imagick扩展。查看