docker映象倉庫的映象,很多時候不能滿足我們的使用。比如,需要一個安裝了redis、swoole、mongodb、pdo擴充套件的php7.4版本的擴充套件,從哪裡獲取呢?這時候,就能用到今天這篇文件了。
docker 可以透過Dockerfile檔案,來構建自己的專屬映象。那麼,究竟怎麼操作呢?
# 基礎映象選擇swoole官方的版本,當然也可以選擇php:7.4-cli 它是PHP的命令列版本 FROM phpswoole/swoole:5.1.2-php8.1 # 更新軟體包列表並安裝編譯依賴 RUN apt-get update && apt-get install -y \ git \ make \ gcc \ g++ \ curl \ libssl-dev \ libxml2-dev \ zip \ unzip # 安裝php擴充套件 RUN docker-php-ext-install intl RUN docker-php-ext-configure intl # 安裝Redis擴充套件 RUN pecl install redis && docker-php-ext-enable redis # 安裝MongoDB擴充套件 #RUN pecl install mongodb && docker-php-ext-enable mongodb # 安裝fileinfo擴充套件 RUN docker-php-ext-install fileinfo RUN docker-php-ext-install opcache # 安裝mysqli擴充套件 RUN docker-php-ext-install mysqli # 安裝PDO擴充套件 RUN docker-php-ext-install pdo pdo_mysql # 清理快取檔案 RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # 設定時區 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
如果需要什麼擴充套件,自己去RUN docker-php-ext-install ***加即可。這裡提一句,若FROM 選擇了,php:7.4-cli,這個是官方的源,那麼安裝swoole就得使用pecl install swoole-版本號去處理了。還需要去啟用擴充套件,刪除禁用函式等等操作,還是比較囉嗦的。
這裡推薦使用swoole的官方源,已經整合好了swoole的php對應版本源,這樣就直接安裝其他擴充套件即可!!!
https://github.com/swoole/docker-swoole?tab=readme-ov-file 自己選擇合適的版本去使用,非常方便。
最後執行,docker build -t 映象名稱 . (小點別丟掉了~)就可以了。