Dockerfile-php7.4.33

2024-06-21 22:20
文章标签 dockerfile php7.4 33

本文主要是介绍Dockerfile-php7.4.33,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

# 使用一个包含基本编译工具的基础镜像  
FROM ubuntu:latestRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo "Asia/Shanghai" > /etc/timezone# 更新包列表并安装必要的编译工具和库  
RUN apt-get update && apt-get install -y \vim \wget \gnupg \dirmngr \build-essential \zlib1g-dev \libbz2-dev \libcurl4-openssl-dev \libreadline-dev \libonig-dev \libxml2-dev \libpng-dev \libfreetype6-dev \libssl-dev \libjpeg-dev \libmcrypt-dev \libmhash-dev \libxpm-dev \libx11-dev \libxext-dev \libxi-dev \libxrender-dev \libxt-dev \libxpm-dev \libfontconfig1-dev \&& rm -rf /var/lib/apt/lists/*# 设置PHP源代码的下载URL和版本  
ENV PHP_VERSION=7.4.33
ENV PHP_SOURCE_URL="https://www.php.net/distributions/php-${PHP_VERSION}.tar.gz"# 下载PHP源代码  
WORKDIR /tmp
RUN wget -O php.tar.gz "${PHP_SOURCE_URL}"# 解压源代码  
RUN tar -xf php.tar.gz# 进入PHP源代码目录  
WORKDIR /tmp/php-${PHP_VERSION}# 配置PHP安装选项(这里只是一个示例,你可能需要调整)  
RUN ./configure \--prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-zlib \--with-curl \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--without-sqlite3   \--without-pdo_sqlite \--enable-mbstring \--enable-zip \--enable-bcmath \--enable-sockets \--enable-fpm \--enable-opcache \--enable-intl \--enable-pcntl \--enable-ftp \--enable-php.ini \--with-openssl \--enable-mysqlnd-compression-support \--with-pear \&& make -j$(nproc) \&& make install# 设置PHP配置文件(如果需要)  
# COPY php.ini /usr/local/php/etc/  RUN mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.confRUN mv /tmp/php-7.4.33/php.ini-production /usr/local/php/etc/php.iniRUN mv /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.confRUN sed -i 's/listen \= 127.0.0.1:9000/listen \= 0.0.0.0:8999/g' /usr/local/php/etc/php-fpm.d/www.confRUN sed -i 's/pm.max_children \= 5/pm.max_children \= 20/g' /usr/local/php/etc/php-fpm.d/www.conf
RUN groupadd nobody
# 设置工作目录  
WORKDIR /app/html
# 暴露端口(如果需要运行Web服务器)  # 设置容器启动时运行的命令(如果需要)  
#CMD ["/usr/local/php/sbin/php-fpm","-D"]
CMD ["/usr/local/php/sbin/php-fpm","-F"]EXPOSE 8999

启动方式:

docker run -d --name cc-php -p 8999:8999 -v /app/html:/app/html cc-php:7.4.33-fpm

这篇关于Dockerfile-php7.4.33的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082500

相关文章

前端 Dockerfile 及 Nginx 配置

🚀 需求:前端 Vue 项目,需要打包为 Docker 镜像,并通过外部 Nginx 访问到这个前端容器。 ⭐ 解决:使用 Nginx 作为 Docker 基础镜像,即使用 Nginx 代理前端静态资源。 Dockerfile Dockerfile 如下: #使用 nginx 最新版本作为基础镜像FROM harbor.xxx.com/enterprise/nginx:1.26-boo

LeetCode - 33. Search in Rotated Sorted Array

33. Search in Rotated Sorted Array  Problem's Link  ---------------------------------------------------------------------------- Mean:  给你一个数组,这个数组是由两个有序的数组拼接成的(无重复元素),在这个数组中查找元素k的下标. anal

「图」邻接矩阵|边集数组|邻接表 / LeetCode 35|33|81(C++)

概述 我们开始入门图论:图的存储。 图是一种高级数据结构:链表是一个节点由一条边指向下一个节点,二叉树是一个节点由两条边指向下两个节点,而图是由任意多个节点由任意多条边指向任意多个节点。 图由节点和边构成,边往往存在边权。边权在不同的问题中往往有不同含义,如在最短路径中表示边的长度,在AOE网中表示任务所需时间。 对于这种复杂的结构,如何存储在计算机的程序语言中呢? 我们先来介绍三种存储

【docker1】docker的下载安装、容器与docker、Dockerfile的写法

1 容器 1、容器1、什么是容器?用镜像启动的一个对外可以提供服务的进程即为容器。1、容器的本质是进程2、容器是由镜像创建的,跟镜像中保存的内容完全一致。3、容器与容器之间是完全隔离的(可以理解为国中之国)4、每一个容器都需要做的是尽量保持自己的体积足够的小。2、容器的生命周期容器之内必须至少有一个进程运行在前台。如果一个进程都没有的话,那么此容器就相当于完成了它的声明周期。3、容器的基本使用0

Docker数据卷和Dockerfile

1、什么是Docker数据卷 前言:         在下载的镜像中,我们不能够去改变它内部的一些配置,因为docker的镜像文件是已经配置好的,无法改变,我们只能改变镜像启动后的容器里面的内容,但是又因为,容器本来就是一个临时的,当容器停止了,那么我们内部的一些存储的数据也将会丢失,那么docker官方为了能够解决这个临时性的问题而产生了数据卷(volume)这个组件。

dockerfile部署fastapi项目

dockerfile部署fastapi项目 1、Dockerfile # 使用Python官方镜像作为基础镜像FROM python:3.8-slim# 更新apt-get源并安装依赖# RUN apt-get update -y && apt-get install -y git# 设置环境变量ENV PYTHONDONTWRITEBYTECODE 1ENV PYTHONUNBUFF

Docker —— Dockerfile 详解

制作Docker image 有两种方式:一是使用 Docker container,直接构建容器,再导出成 image 使用;二是使用 Dockerfile,将所有动作写在文件中,再 build 成 image。Dockerfile 的方式非常灵活,推荐使用。 本次实验环境:腾讯云服务器 CentOS 6.7 x86_64 一.Dockerfile 基本结构 一般的,Dockerfi

【软件技巧】第33课,软件逆向安全工程师之如何快速的跑到某行代码EIP设置,每天5分钟学习逆向吧!

鼠标右键在此设置EIP EIP(Extended Instruction Pointer)是x86架构中一个重要的寄存器,它用于存储当前正在执行的指令的地址。EIP是程序计数器(Program Counter)的扩展版本,因为它是32位寄存器,所以它能够存储一个32位的地址。 在x86架构中,EIP寄存器的作用如下: 指令地址:EIP寄存器存储当前正在执行的指令的内存地址。当CPU执行一个指令

docker实战扩展三(dockerfile中run的详细用法)

RUN 是 Dockerfile 中的一个重要指令,用于在镜像构建过程中执行命令。它将在镜像构建过程中创建一个新的临时容器,执行指定的命令,并将执行结果提交到镜像层。每一个 RUN 指令都会创建一个新的镜像层。 RUN 指令的基本用法 Shell 形式 最常见的形式是 shell 形式,这种形式的 RUN 指令会在 /bin/sh -c 中运行。适用于大多数简单命令: RUN <comma

docker实战扩展四( Dockerfile 中,COPY . .详细讲解)

在 Dockerfile 中,COPY . . 是一个常用的指令,它的作用是将构建上下文中的所有文件复制到镜像中的指定目录。为了更好地理解这个指令,我们需要先了解两个概念:构建上下文和容器中的工作目录。 概念解释 构建上下文: 构建上下文是指在执行 docker build 命令时,Docker CLI 将指定目录的内容(包括子目录和文件)发送给 Docker 守护进程。构建上下文的路径通常