基于 PHP 8.1
Dockerfile 文件
FROM php:8.1-alpine
WORKDIR /data
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk update --no-cache \
&& docker-php-source extract \
&& docker-php-ext-install -j$(nproc) pcntl \
&& docker-php-ext-enable opcache pcntl\
&& docker-php-source delete \
&& mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" \
&& rm -rf /var/cache/apk/*
docker-compose.yml 文件
version: "3"
services:
webman:
build: .
container_name: webman
restart: unless-stopped
volumes:
- "./:/data"
ports:
- "8888:8080"
command: [ "php", "start.php", "start" ]
docker-compose.yml 中的 command 命令不能用 -d 模式,否则容器会一直重启
记录一下自己的踩坑相关的
还需要完善一下各种扩展安装以及开启,最好放在dockerfil里面
那是你没有处理好
不错
打包成docker 镜像,如何通过-e 参数读取外部输入的变量呢,
比如,webman 服务打包成docker镜像,使用阿里云mysql,将myqli 地址和密码 使用-e
这种方式在webman 打包的时候如何使用,谢谢
我也想问
使用-e 将参数传递给docker 镜像,这个时候传递过来的参数已经成为系统传输,在entrypoint.sh 或者指定容器启动脚本中,使用sed -i 将系统参数读取并写入.env 文件,或者config 文件,就能在webman 里面使用了
懂了
发了个教程,若有需要可以参考:https://www.workerman.net/a/1550