文件夹结构
docker-compose.yml
version: '2.0'
services:
php-fpm:
build: ./php
ports:
- "9002:9002"
restart: always
command: /bin/sh -c "php-fpm"
networks:
- my-net
networks:
my-net:
driver: bridge
Dockerfile
包含了mongodb扩展
FROM php:7.2-fpm
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 更新安装依赖包和PHP核心拓展
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libxml2-dev \
libcurl4-openssl-dev \
libxslt1-dev \
supervisor \
cron \
libssl-dev\
&& pecl install mongodb \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip \
&& docker-php-ext-install xml \
&& docker-php-ext-install curl \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install xsl \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install opcache \
&& docker-php-ext-install mysqli \
&& docker-php-ext-enable mongodb \
&& rm -r /var/lib/apt/lists/*
WORKDIR /wwwroot
# Write Permission
RUN useradd www
RUN usermod -a -G root www
RUN usermod -u 1000 www
RUN groups www
RUN id www
RUN mkdir -p /var/log/php-fpm/
RUN mkdir -p /var/run/supervisor/
2020-06-17 新增ssh2扩展
FROM php:7.2-fpm
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 更新安装依赖包和PHP核心拓展
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libxml2-dev \
libcurl4-openssl-dev \
libxslt1-dev \
supervisor \
cron \
libssl-dev \
libssh2-1-dev \
libssh2-1 \
&& pecl install mongodb \
&& pecl install ssh2-1.0 \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip \
&& docker-php-ext-install xml \
&& docker-php-ext-install curl \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install xsl \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install opcache \
&& docker-php-ext-install mysqli \
&& docker-php-ext-enable mongodb \
&& docker-php-ext-enable ssh2 \
&& rm -r /var/lib/apt/lists/*
WORKDIR /wwwroot
# Write Permission
RUN useradd www
RUN usermod -a -G root www
RUN usermod -u 1000 www
RUN groups www
RUN id www
RUN mkdir -p /var/log/php-fpm/
RUN mkdir -p /var/run/supervisor/