php fpm 报错,docker-compose 搭建php-fpm报错

创建的项目目录结构

|-- docker-compose.yml

|-- nginx

| |-- conf.d

| |-- logs

| \`-- nginx.conf

|-- php

| \`-- Dockerfile

| |-- php-fpm.d

| \`-- www.conf

| \`-- php.ini

|-- mysql

| \`-- data

|-- www

\`-- index.html

docker-compose.yml 配置

version: '3.0'

services:

nginx:

restart: always

image: nginx:latest

container_name: my-nginx

ports:

- 80:80

- 443:443

volumes:

- ./nginx/conf.d:/etc/nginx/conf.d:ro

- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

- ./nginx/logs:/var/log/nginx:rw

- ./www:/usr/share/nginx/html:rw

- /etc/letsencrypt:/etc/letsencrypt

networks:

- front

phpfpm:

build: ./php

container_name: my-php

ports:

- 9000:9000

volumes:

- ./www:/var/www/html:rw

- ./php/php.ini:/usr/local/etc/php/php.ini:ro

- ./php/php-fpm.d/www.conf:/usr/local/etc/php-fpm.d/www.conf:rw

- ./php/log:/var/log:rw

networks:

- front

- backend

mysql:

image: mysql:5.7.26

container_name: my-mysql

ports:

- 3306:3306

volumes:

- ./mysql/data/:/var/lib/mysql/

environment:

MYSQL_ROOT_PASSWORD : wq540074./

networks:

front:

backend:

php的Dockerfile配置

FROM php:7.2.9-fpm

# Install any custom system requirements here

RUN apt-get update \

apt-get upgrade \

&& apt-get install -y --no-install-recommends \

libicu-dev \

libmemcached-dev \

libz-dev \

libpq-dev \

libjpeg-dev \

libpng-dev \

libfreetype6-dev \

libssl-dev \

libmcrypt-dev \

libxml2-dev \

libbz2-dev \

libjpeg62-turbo-dev \

curl \

&& rm -rf /var/lib/apt/lists/*

# Install various PHP extensions

RUN docker-php-ext-configure bcmath --enable-bcmath \

&& docker-php-ext-configure pcntl --enable-pcntl \

&& docker-php-ext-configure pdo_mysql --with-pdo-mysql \

&& docker-php-ext-configure pdo_pgsql --with-pgsql \

&& docker-php-ext-configure mbstring --enable-mbstring \

&& docker-php-ext-configure soap --enable-soap \

&& docker-php-ext-install \

bcmath \

intl \

mbstring \

mcrypt \

mysqli \

pcntl \

pdo_mysql \

zip \

&& docker-php-ext-configure gd \

--enable-gd-native-ttf \

--with-jpeg-dir=/usr/lib \

--with-freetype-dir=/usr/include/freetype2 && \

docker-php-ext-install gd \

&& docker-php-ext-install opcache \

&& docker-php-ext-enable opcache

当运行 docker-compose up -d 的时候php报错,

error: /usr/src/php/ext/mcrypt does not exist

usage: /usr/local/bin/docker-php-ext-install [-jN] ext-name [ext-name ...]

ie: /usr/local/bin/docker-php-ext-install gd mysqli

/usr/local/bin/docker-php-ext-install pdo pdo_mysql

/usr/local/bin/docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop

if custom ./configure arguments are necessary, see docker-php-ext-configure

Possible values for ext-name:

bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets sodium spl standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zend_test zip

Some of the above modules are already compiled into PHP; please check

the output of "php -i" to see which modules are already loaded.

我觉得是php的Dockerfile 配置有问题,谁有完整的php Dockerfile配置文件啊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用docker-compose搭建lnmp的步骤: 1.创建一个项目目录,例如lnmp,进入该目录并创建一个docker-compose.yml文件。 2.在docker-compose.yml文件中定义三个服务:nginx、php和mysql。其中,nginx服务使用官方的nginx镜像,php服务使用自己编译的php-fpm镜像,mysql服务使用官方的mysql镜像。 3.在docker-compose.yml文件中定义三个网络:frontend、backend和mysql。其中,frontend网络用于连接nginx和php服务,backend网络用于连接php和mysql服务,mysql网络用于连接mysql服务。 4.在docker-compose.yml文件中定义三个卷:nginx-conf、nginx-logs和php-src。其中,nginx-conf卷用于存放nginx的配置文件,nginx-logs卷用于存放nginx的日志文件,php-src卷用于存放php的源代码。 5.在docker-compose.yml文件中定义三个环境变量:MYSQL_ROOT_PASSWORD、MYSQL_DATABASE和MYSQL_USER。其中,MYSQL_ROOT_PASSWORD用于设置mysql的root用户密码,MYSQL_DATABASE用于设置mysql的默认数据库,MYSQL_USER用于设置mysql的普通用户。 6.在docker-compose.yml文件中定义三个挂载点:./nginx.conf:/etc/nginx/nginx.conf、./nginx-logs:/var/log/nginx和./php-src:/var/www/html。其中,./nginx.conf用于挂载nginx的配置文件,/nginx-logs用于挂载nginx的日志文件,./php-src用于挂载php的源代码。 7.在项目目录中创建一个nginx.conf文件,用于配置nginx的虚拟主机。 8.在项目目录中创建一个index.php文件,用于测试php服务是否正常工作。 9.在项目目录中运行docker-compose up命令,启动lnmp服务。 10.在浏览器中访问http://localhost,即可看到php服务返回的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值