nginx+php的新基础镜像制作全过程

2024-04-18 0 809
目录
  • 前言
  • 一、运行alpine容器
  • 二、安装nginx
  • 三、安装php
  • 四、删除相关依赖
  • 五、默认脚本
  • 六、构建新基础镜像
  • 七、验证新镜像
  • 总结

前言

服务器需要提前安装好docker;构建的新镜像用于快速部署新项目;

一、运行alpine容器

通过如下命令查找镜像

docker search alpine

如下图所示,就是命令返回的结果,OFFICIAL有[OK]的标识的是docker官方制作的镜像

nginx+php的新基础镜像制作全过程

我们通过如下命令拉取镜像

docker pull alpine

接着我们通过如下命令启动一个alpine容器

docker run -it alpine /bin/sh

二、安装nginx

1、安装pcre执行如下命令,分别为下载源码、解压、进入相应目录、安装

cd /root
wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
tar -xvf pcre-8.45.tar.gz
cd pcre-8.45
./configure
make && make install

2、安装nginx执行如下命令,分别为下载源码、解压、进入相应目录、安装

cd /root
wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -xvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure –prefix=/usr/local/nginx –with-pcre=/root/pcre-8.45
make && make install

3、安装成功之后验证下nginx是否可以正常执行,执行如下命令

/usr/local/nginx/sbin/nginx -t

一切正常会返回如下内容

nginx+php的新基础镜像制作全过程

至此nginx就已经安装完成了,剩下只是配置问题;接下来就是如何安装php?

三、安装php

1、因为alpine镜像使用的是apk包管理,我们需要更换国内源地址,执行如下命令更好为阿里云地址

vi /etc/apk/repositories
https://mirrors.aliyun.com/alpine/v3.15/main
https://mirrors.aliyun.com/alpine/v3.15/community

2、安装相关依赖,执行如下命令

sudo apk update
sudo apk add –no-cache gcc g++ make cmake pkgconf sqlite-dev libxml2-dev openssl openssl-dev libcurl curl-dev oniguruma-dev

3、安装php执行如下命令,分别为下载源码、解压、进入相应目录、安装

cd /root
wget https://www.php.net/distributions/php-8.3.3.tar.gz
tar -xvf php-8.3.3.tar.gz
cd php-8.3.3 || exit
./configure –prefix=/usr/local/php \\
–with-openssl \\
–with-curl \\
–with-zlib \\
–with-mysqli \\
–with-pdo-mysql \\
–enable-cli \\
–enable-fpm \\
–enable-xml \\
–enable-mbstring
make && make install

4、安装成功之后验证下php是否可以正常执行,执行如下命令

/usr/local/php/bin/php -v

一切正常会返回如下内容

nginx+php的新基础镜像制作全过程

5、验证php-fpm是否可以正常执行,执行如下命令

/usr/local/php/sbin/php-fpm -t

一切正常会返回如下内容

nginx+php的新基础镜像制作全过程

至此php就已安装完成,剩下的就是相关的配置了。

四、删除相关依赖

为什么要删除相关依赖?主要是减轻后续生成镜像时候的大小。

执行如下命令删除

sudo apk del gcc g++ make cmake pkgconf libxml2-dev openssl openssl-dev libcurl curl-dev

五、默认脚本

添加默认脚本,用于启动php-fpm、nginx;

执行如下命令

vi /start.sh

#!/bin/sh
/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx -g \”daemon off;\”

六、构建新基础镜像

在宿主机执行如下命令,根据之前的容器构建成镜像

docker commit -m\”nginx-php8.3.3\” 26dfff78bfa1 ayzen/nginx-php8.3.3

-m:提交的描述信息

26dfff78bfa1:第一步运行时的容器id

ayzen/nginx-php8.3.3:要创建的目标镜像名,未带版本号默认为latest

七、验证新镜像

在宿主机执行如下命令,使用新镜像运行一个容器

docker run -itd -p 8083:80 –name test ayzen/nginx-php8.3.3 /start.sh

验证服务是否有启动,执行如下命令

curl http://127.0.0.1:8083

一切正常会返回如下nginx内容

nginx+php的新基础镜像制作全过程

总结

以上就是nginx+php的新基础镜像制作全过程的详细内容,更多关于nginx php镜像制作的资料请关注悠久资源其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Nginx服务器 nginx+php的新基础镜像制作全过程 https://www.u-9.cn/server/nginx/186401.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务