网站首页 > 精选教程 正文
前言
服务器需要提前安装好docker;构建的新镜像用于快速部署新项目;
一、运行alpine容器
通过如下命令查找镜像
docker search alpine
如下图所示,就是命令返回的结果,OFFICIAL有[OK]的标识的是docker官方制作的镜像
我们通过如下命令拉取镜像
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?
三、安装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
一切正常会返回如下内容
5、验证php-fpm是否可以正常执行,执行如下命令
/usr/local/php/sbin/php-fpm -t
一切正常会返回如下内容
至此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内容
总结
以上就是基于alpine基础镜像,构建含nginx、php服务的新基础镜像的过程。本人能力有限,还有许多不足之处还望多多指教,谢谢。
猜你喜欢
- 2024-10-09 从零开始学网站开发——2.搭建Linux+Nginx+MySQL+PHP环境
- 2024-10-09 聊聊如何在CentOS 8上安装Tomcat 9
- 2024-10-09 CentOS、Nginx、PHP、MySQL的安装和配置记录
- 2024-10-09 Linux服务器安装PHP环境 linux怎么安装php环境
- 2024-10-09 PHP 环境 搭建教程 php环境搭建apache
- 2024-10-09 lnmp之php安装 安装php-fpm
- 2024-10-09 MySQL8安装 八: 使用phpMyadmin客户端
- 2024-10-09 CentOS8 编译安装 PHP8.0.8 centos7编译安装php7.4
- 2024-10-09 CentOS7编译安装PHP7的详细教程(图文)
- 2024-10-09 CentOS8 安装数据库管理工具之phpMyAdmin5.1.1
你 发表评论:
欢迎- 最近发表
-
- 绝对新惊喜!4款王者级别的办公软件,免费又实用
- 再见WPS!微软新出的免费Office软件,我一用就爱上了
- Deepseek+通义千问,一分钟免费生成PPT
- 手机也能修改PPT?还能投屏?3000万用户的ToDesk有多少人不知道
- 简单!如何用Deepseek制作课件?保姆级教程一遍就懂!
- 你会移动办公吗?iPhone 上的免费 Office 软件长这模样
- 超好用的14款免费视频编辑软件强烈推荐!剪辑达人必备!(2022)
- 一键免费转换PPT、Excel和Word文档,无需下载软件
- DeepSeek +功能扩展,实现一键生成PPT功能,完全免费的。
- 拜拜WPS?微软这款全新的三合一Office,免费无广告,真让人惊艳
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)