Dockerfile结构
- 基础镜像信息
- 维护者信息
- 镜像操作指令
- 容器启动时执行指令
Dockerfile 实例(hyperf)
FROM php:7.4.11-fpm-alpine3.12
#分配Hugepages(设置在宿主机上设置即可)
# RUN sysctl vm.nr_hugepages=128
#RUN echo "memory_limit = 256M;" >> /usr/local/etc/php/php.ini
ENV LANG=C.UTF-8
#更新软件和必要库
#php扩展编译需要
#安装扩展
#Install PHP extensions phpredis
ENV REDIS_VERSION=5.3.2
#Install PHP protobuf
ENV PROTOBUF_VERSION=3.13.0
#Install PHP extensions swoole
ENV SWOOLE_VERSION=4.5.6
#Install PHP extensions phalcon
ENV PHALCON_VERSION=4.1.0
ENV PSR_VERSION=1.0.0
#安装debug扩展
ENV XDEBUG_VERSION=2.9.8
#composer版本
ENV COMPOSER_VERSION=2.0.3
# xdebug apk add py-pygraphviz python
# 删除国外地址 Install env 添加国内镜像到顶部
#RUN echo > /etc/apk/repositories \
# && sed -i '1i\http://mirrors.ustc.edu.cn/alpine/v3.9/main/' /etc/apk/repositories \
# && sed -i '1i\http://mirrors.ustc.edu.cn/alpine/v3.9/community/' /etc/apk/repositories \
# && sed -i '1i\http://mirrors.aliyun.com/alpine/v3.9/main/' /etc/apk/repositories \
# && sed -i '1i\http://mirrors.aliyun.com/alpine/v3.9/community/' /etc/apk/repositories