webman Dockerfile docker-compose

基于 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 模式,否则容器会一直重启

2078 3 5
3个评论

记录一下自己的踩坑相关的

ynyjyz

不错

  • 暂无评论
软饭工程师

打包成docker 镜像,如何通过-e 参数读取外部输入的变量呢,
比如,webman 服务打包成docker镜像,使用阿里云mysql,将myqli 地址和密码 使用-e

MYSQL_ROOT_PASSWORD=123456

这种方式在webman 打包的时候如何使用,谢谢

  • fgt1t5y 2023-09-23

    我也想问

  • 软饭工程师 2023-09-24

    使用-e 将参数传递给docker 镜像,这个时候传递过来的参数已经成为系统传输,在entrypoint.sh 或者指定容器启动脚本中,使用sed -i 将系统参数读取并写入.env 文件,或者config 文件,就能在webman 里面使用了

  • fgt1t5y 2023-09-24

    懂了

  • Caesar-Tang 2023-10-07

    发了个教程,若有需要可以参考:https://www.workerman.net/a/1550

440
积分
0
获赞数
0
粉丝数
2023-04-24 加入
×
🔝