4 回答

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
首先,官方的Dockerfile確實(shí)是有autoconf的,但它在安裝完后,會(huì)把所有的build時(shí)才需要的包都刪除掉(請(qǐng)看官方Dockerfile,有apk del),所以你From的官方的image是沒有autoconf的;
其次,你的鏡像大,是由于docker鏡像是分層的,每一次的Dockerfile命令都會(huì)形成記錄,類似git、svn等版本控制,每一次提交都會(huì)增大版本庫(kù)記錄,再有可能是pecl安裝方式的問(wèn)題,改成源碼包應(yīng)該會(huì)小一些,如果你想要達(dá)到最小的效果,你可以在官方Dockerfile上進(jìn)行修改,以減小Dockerfile的命令的使用次數(shù),但這種方式不是很好調(diào)試,且每次docker build如果Dockerfile中前面的部分有過(guò)修改,耗時(shí)可能會(huì)很長(zhǎng),如果目錄只是測(cè)試的話,大上百八十M也無(wú)所謂

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果你只是單純的想安裝 php 的 redis 擴(kuò)展,沒必要使用 docker,下面是我以前寫的筆記,你可以看看
1. windows 下 安裝 redis 的 php 擴(kuò)展
- 下載 php_redis.dll
- 下載完成后將文件?php_redis.dll?移動(dòng)到 php 的擴(kuò)展文件夾?~/bin/ext/?下
- 修改?php.ini?文件
extension = php_redis.dll
2. Ubuntu 下安裝 redis 的 php 擴(kuò)展
cd /software/
wget http://github.com/nicolasff/phpredis/archive/master.zip
unzip master.zip
cd phpredis-master
/path/to/php/bin/phpize
如果出現(xiàn)以下錯(cuò)誤信息:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
則說(shuō)明服務(wù)器上沒有安裝 Autoconf,安裝步驟如下:
1. 安裝m4
cd /usr/src
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
2. 安裝autoconf
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install
安裝完成后執(zhí)行:
./configure --with-php-config=/path/to/php/bin/php-config
make
make install
此時(shí)編譯完成的 redis.so 會(huì)默認(rèn)保存到 /path/to/php/lib/php/extensions/, 修改?php.ini?文件
extension = redis.so
- 4 回答
- 0 關(guān)注
- 1771 瀏覽
添加回答
舉報(bào)