修复php/docker81文章中实操不通的地方

This commit is contained in:
wandoubaba 2024-04-20 16:50:40 +08:00
parent 39659d6b48
commit fad0852f7d

View File

@ -1,18 +1,22 @@
# 制作PHP8.1版的workerman环境镜像
## 说明
用本文方法制作的镜像不是跨平台的也就是说在amd64平台制作的镜像只适用于amd64平台在arm64平台制作的镜像则只适用于arm64平台。
## 拉基础镜像
```sh
docker pull php:8.1-cli
docker pull php:8.1-cli-bullseye
```
## 启动容器
```sh
docker run -itd --net=host --name=workerman php:8.1-cli
docker run -itd --net=host --name=workerman php:8.1-cli-bullseye
```
> php:8.1-cli是基于debian:bullseye制作的
> php:8.1-cli-bullseye是基于debian:bullseye制作的
### 替换国内源(可选)
@ -53,7 +57,9 @@ docker exec -it workerman bash
apt-get update && apt-get install -y \
libfreetype6-dev libjpeg62-turbo-dev libpng-dev libwebp-dev zlib1g-dev \
libzip-dev zip \
libevent-dev
libevent-dev \
lsb-release libpq-dev \
libgmp-dev
```
### 安装扩展
@ -87,13 +93,11 @@ cat /usr/local/etc/php/conf.d/docker-php-ext-event.ini >> /usr/local/etc/php/con
mv /usr/local/etc/php/conf.d/docker-php-ext-sockets.ini /usr/local/etc/php/conf.d/docker-php-ext-event.ini
# 上面操作原因event扩展依赖sockets扩展所以要先安装sockets扩展同时保证sockets扩展要在event之前被加载
# pgsql和pdo_pgsql
apt install -y lsb-release libpq-dev
docker-php-ext-install -j$(nproc) pgsql pdo_pgsql
# mongodb
pecl install mongodb
docker-php-ext-enable mongodb
# gmp一个开源的数学运算库一些加密组件需要这个扩展
apt-get install libgmp-dev
docker-php-ext-install -j$(nproc) gmp
```
@ -101,7 +105,6 @@ docker-php-ext-install -j$(nproc) gmp
```sh
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
@ -155,3 +158,9 @@ docker exec <容器ID> php start.php start
```sh
docker pull wandoubaba517/workerman:8.1
```
或者
```sh
docker pull wandoubaba517/workerman:8.1-arm64
```